log-warper 1.5.1 → 1.5.2
raw patch · 4 files changed
+27/−7 lines, 4 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- System.Wlog.PureLogging: usingPureLoggerName :: Functor m => LoggerName -> NamedPureLogger m a -> m (a, [LogEvent])
+ System.Wlog.HasLoggerName: withSublogger :: HasLoggerName m => LoggerName -> m a -> m a
+ System.Wlog.PureLogging: logPureAction :: WithLogger m => NamedPureLogger m a -> m a
+ System.Wlog.PureLogging: usingNamedPureLogger :: Functor m => LoggerName -> NamedPureLogger m a -> m (a, [LogEvent])
Files
- CHANGES.md +6/−0
- log-warper.cabal +1/−1
- src/System/Wlog/HasLoggerName.hs +5/−0
- src/System/Wlog/PureLogging.hs +15/−6
CHANGES.md view
@@ -1,3 +1,9 @@+1.5.2+=====++* Add `logPureAction` to `PureLogging`.+* Add `withSublogger` to `HasLoggerName`.+ 1.5.1 =====
log-warper.cabal view
@@ -1,5 +1,5 @@ name: log-warper-version: 1.5.1+version: 1.5.2 synopsis: Flexible, configurable, monadic and pretty logging homepage: https://github.com/serokell/log-warper license: MIT
src/System/Wlog/HasLoggerName.hs view
@@ -10,6 +10,7 @@ ( -- * Remove boilerplater HasLoggerName (..) , setLoggerName+ , withSublogger ) where import Universum@@ -65,3 +66,7 @@ -- | Set logger name in context. setLoggerName :: HasLoggerName m => LoggerName -> m a -> m a setLoggerName = modifyLoggerName . const++-- | Change logger name to the given one+withSublogger :: HasLoggerName m => LoggerName -> m a -> m a+withSublogger name = modifyLoggerName (<> name)
src/System/Wlog/PureLogging.hs view
@@ -20,7 +20,8 @@ , NamedPureLogger (..) , runNamedPureLog , launchNamedPureLog- , usingPureLoggerName+ , usingNamedPureLogger+ , logPureAction ) where import Universum@@ -126,9 +127,17 @@ res <$ dispatchEvents logs -- | Similar to 'runNamedPureLog', but using provided logger name.-usingPureLoggerName :: Functor m- => LoggerName- -> NamedPureLogger m a- -> m (a, [LogEvent])-usingPureLoggerName name (NamedPureLogger action) =+usingNamedPureLogger :: Functor m+ => LoggerName+ -> NamedPureLogger m a+ -> m (a, [LogEvent])+usingNamedPureLogger name (NamedPureLogger action) = usingLoggerName name $ runPureLog action++-- | Perform pure-logging computation, log its events+-- and return the result of the computation+logPureAction :: WithLogger m => NamedPureLogger m a -> m a+logPureAction namedPureLogger = do+ loggerName <- askLoggerName+ (a, events) <- usingNamedPureLogger loggerName namedPureLogger+ a <$ dispatchEvents events