packages feed

log-warper 1.1.3 → 1.1.4

raw patch · 4 files changed

+28/−18 lines, 4 files

Files

CHANGES.md view
@@ -1,3 +1,8 @@+1.1.4+=====++* Add `CanLog` and `HasLoggerName` instances for both strict and lazy `State`.+ 1.1.3 ===== 
log-warper.cabal view
@@ -1,5 +1,5 @@ name:                log-warper-version:             1.1.3+version:             1.1.4 synopsis:            Flexible, configurable, monadic and pretty logging homepage:            https://github.com/serokell/log-warper license:             MIT
src/System/Wlog/CanLog.hs view
@@ -37,23 +37,23 @@        , logMessage        ) where -import           Control.Monad.Base         (MonadBase)-import           Control.Monad.Except       (ExceptT, MonadError)-import           Control.Monad.Morph        (MFunctor (..))-import qualified Control.Monad.RWS          as RWSLazy-import qualified Control.Monad.RWS.Strict   as RWSStrict-import qualified Control.Monad.State.Strict as StateStrict-import           Control.Monad.Trans        (MonadTrans (lift))-import           Control.Monad.Writer       (MonadWriter (tell), WriterT (runWriterT))-import qualified Data.DList                 as DL (DList)-import           Data.SafeCopy              (base, deriveSafeCopySimple)+import           Control.Monad.Base        (MonadBase)+import           Control.Monad.Except      (ExceptT, MonadError)+import           Control.Monad.Morph       (MFunctor (..))+import qualified Control.Monad.RWS         as RWSLazy+import qualified Control.Monad.RWS.Strict  as RWSStrict+import qualified Control.Monad.State.Lazy  as StateLazy+import           Control.Monad.Trans       (MonadTrans (lift))+import           Control.Monad.Writer      (MonadWriter (tell), WriterT (runWriterT))+import qualified Data.DList                as DL (DList)+import           Data.SafeCopy             (base, deriveSafeCopySimple) import           Universum -import           System.Wlog.Logger         (logM)-import           System.Wlog.LoggerName     (LoggerName (..))-import           System.Wlog.LoggerNameBox  (HasLoggerName (..), LoggerNameBox (..),-                                             usingLoggerName)-import           System.Wlog.Severity       (Severity (..))+import           System.Wlog.Logger        (logM)+import           System.Wlog.LoggerName    (LoggerName (..))+import           System.Wlog.LoggerNameBox (HasLoggerName (..), LoggerNameBox (..),+                                            usingLoggerName)+import           System.Wlog.Severity      (Severity (..))   -- | Type alias for constraints 'CanLog' and 'HasLoggerName'.@@ -80,7 +80,7 @@ instance CanLog m => CanLog (LoggerNameBox m) instance CanLog m => CanLog (ReaderT r m) instance CanLog m => CanLog (StateT s m)-instance CanLog m => CanLog (StateStrict.StateT s m)+instance CanLog m => CanLog (StateLazy.StateT s m) instance CanLog m => CanLog (ExceptT s m) instance (CanLog m, Monoid w) => CanLog (RWSLazy.RWST r w s m) instance (CanLog m, Monoid w) => CanLog (RWSStrict.RWST r w s m)
src/System/Wlog/LoggerNameBox.hs view
@@ -23,7 +23,8 @@                                               runReaderT) import qualified Control.Monad.RWS           as RWSLazy import qualified Control.Monad.RWS.Strict    as RWSStrict-import           Control.Monad.State         (MonadState, StateT, mapStateT)+import qualified Control.Monad.State         as StateLazy (StateT, mapStateT)+import           Control.Monad.State.Strict  (MonadState, StateT, mapStateT) import           Control.Monad.Trans         (MonadIO, MonadTrans, lift) import           Control.Monad.Trans.Cont    (ContT, mapContT) import           Control.Monad.Trans.Control (MonadBaseControl (..))@@ -52,6 +53,10 @@     getLoggerName = lift getLoggerName      modifyLoggerName = mapStateT . modifyLoggerName++instance (Monad m, HasLoggerName m) => HasLoggerName (StateLazy.StateT a m) where+    getLoggerName = lift getLoggerName+    modifyLoggerName = StateLazy.mapStateT . modifyLoggerName  instance (Monoid w, Monad m, HasLoggerName m) => HasLoggerName (WriterT w m) where     getLoggerName = lift getLoggerName