Blammo 1.0.2.3 → 1.0.3.0
raw patch · 3 files changed
+58/−34 lines, 3 filesdep ~aesondep ~bytestringdep ~case-insensitivePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: aeson, bytestring, case-insensitive, clock, containers, dlist, envparse, exceptions, fast-logger, hspec, http-types, lens, markdown-unlit, monad-logger-aeson, mtl, text, time, unliftio, unliftio-core, unordered-containers, vector, wai
API changes (from Hackage documentation)
+ Blammo.Logging.LogSettings.Env: parseWith :: LogSettings -> IO LogSettings
+ Blammo.Logging.LogSettings.Env: parserWith :: LogSettings -> Parser Error LogSettings
Files
- Blammo.cabal +30/−30
- CHANGELOG.md +6/−1
- src/Blammo/Logging/LogSettings/Env.hs +22/−3
Blammo.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.18 name: Blammo-version: 1.0.2.3+version: 1.0.3.0 license: MIT license-file: LICENSE maintainer: Freckle Education@@ -46,27 +46,27 @@ -Wno-safe -Wno-unsafe build-depends:- aeson >=1.5.2.0,+ aeson, base >=4.11.1.0 && <5,- bytestring >=0.10.8.2,- case-insensitive >=1.2.0.11,- clock >=0.7.2,- containers >=0.5.11.0,- dlist >=0.8.0.5,- envparse >=0.5.0,- exceptions >=0.10.0,- fast-logger >=2.4.11,- http-types >=0.12.2,- lens >=4.16.1,- monad-logger-aeson >=0.3.0.2,- mtl >=2.2.2,- text >=1.2.3.1,- time >=1.8.0.2,- unliftio >=0.2.9.0,- unliftio-core >=0.1.2.0,- unordered-containers >=0.2.10.0,- vector >=0.12.0.2,- wai >=3.2.1.2+ bytestring,+ case-insensitive,+ clock,+ containers,+ dlist,+ envparse,+ exceptions,+ fast-logger,+ http-types,+ lens,+ monad-logger-aeson,+ mtl,+ text,+ time,+ unliftio,+ unliftio-core,+ unordered-containers,+ vector,+ wai if impl(ghc >=9.2) ghc-options: -Wno-missing-kind-signatures@@ -91,11 +91,11 @@ -Wno-safe -Wno-unsafe -pgmL markdown-unlit build-depends:- Blammo -any,- aeson >=1.5.2.0,+ Blammo,+ aeson, base >=4.11.1.0 && <5,- markdown-unlit >=0.5.0,- text >=1.2.3.1+ markdown-unlit,+ text if impl(ghc >=9.2) ghc-options: -Wno-missing-kind-signatures@@ -125,12 +125,12 @@ -Wno-safe -Wno-unsafe build-depends:- Blammo -any,- aeson >=1.5.2.0,+ Blammo,+ aeson, base >=4.11.1.0 && <5,- hspec >=2.7.9,- mtl >=2.2.2,- text >=1.2.3.1+ hspec,+ mtl,+ text if impl(ghc >=9.2) ghc-options: -Wno-missing-kind-signatures
CHANGELOG.md view
@@ -1,4 +1,9 @@-## [_Unreleased_](https://github.com/freckle/blammo/compare/v1.0.2.3...main)+## [_Unreleased_](https://github.com/freckle/blammo/compare/v1.0.3.0...main)++## [v1.0.3.0](https://github.com/freckle/blammo/compare/v1.0.2.3...v1.0.3.0)++- Add `Env.{parse,parser}With` functions for parsing 'LogSettings' from+ environment variables with custom defaults. ## [v1.0.2.3](https://github.com/freckle/blammo/compare/v1.0.2.2...v1.0.2.3)
src/Blammo/Logging/LogSettings/Env.hs view
@@ -29,6 +29,19 @@ module Blammo.Logging.LogSettings.Env ( parse , parser++ -- | Specifying defaults other than 'defaultLogSettings'+ --+ -- For example, if you want logging to go to @stderr@ by default, but still+ -- support @LOG_DESTINATION@,+ --+ -- @+ -- settings <- Env.'parseWith'+ -- $ 'setLogSettingsDestination' 'LogDestinationStderr' 'defaultLogSettings'+ -- @+ --+ , parseWith+ , parserWith ) where import Prelude@@ -40,12 +53,18 @@ import qualified Env parse :: IO LogSettings-parse = Env.parse id parser+parse = parseWith defaultLogSettings +parser :: Parser Error LogSettings+parser = parserWith defaultLogSettings++parseWith :: LogSettings -> IO LogSettings+parseWith = Env.parse id . parserWith+ -- brittany-next-binding --columns 100 -parser :: Parser Error LogSettings-parser = ($ defaultLogSettings) . appEndo . mconcat <$> sequenceA+parserWith :: LogSettings -> Parser Error LogSettings+parserWith defaults = ($ defaults) . appEndo . mconcat <$> sequenceA [ var (endo readLogLevels setLogSettingsLevels) "LOG_LEVEL" (def mempty) , var (endo readLogDestination setLogSettingsDestination) "LOG_DESTINATION" (def mempty) , var (endo readLogFormat setLogSettingsFormat) "LOG_FORMAT" (def mempty)