monad-logger 0.2.4 → 0.3.0
raw patch · 2 files changed
+16/−18 lines, 2 filesdep ~conduitPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: conduit
API changes (from Hackage documentation)
- Control.Monad.Logger: instance MonadLogger (ST s)
- Control.Monad.Logger: instance MonadLogger IO
- Control.Monad.Logger: instance MonadLogger Identity
- Control.Monad.Logger: monadLoggerLogSource :: (MonadLogger m, ToLogStr msg) => Loc -> LogSource -> LogLevel -> msg -> m ()
+ Control.Monad.Logger: instance MonadLogger m => MonadLogger (ConduitM i o m)
- Control.Monad.Logger: class Monad m => MonadLogger m where monadLoggerLogSource loc _ level msg = monadLoggerLog loc level msg
+ Control.Monad.Logger: class Monad m => MonadLogger m
- Control.Monad.Logger: monadLoggerLog :: (MonadLogger m, ToLogStr msg) => Loc -> LogLevel -> msg -> m ()
+ Control.Monad.Logger: monadLoggerLog :: (MonadLogger m, ToLogStr msg) => Loc -> LogSource -> LogLevel -> msg -> m ()
Files
- Control/Monad/Logger.hs +14/−16
- monad-logger.cabal +2/−2
Control/Monad/Logger.hs view
@@ -71,7 +71,7 @@ import Control.Monad.Trans.Writer ( WriterT ) import Control.Monad.Trans.RWS ( RWST ) import Control.Monad.Trans.Resource ( ResourceT)-import Data.Conduit ( Pipe )+import Data.Conduit.Internal ( Pipe, ConduitM ) import qualified Control.Monad.Trans.RWS.Strict as Strict ( RWST ) import qualified Control.Monad.Trans.State.Strict as Strict ( StateT )@@ -102,17 +102,16 @@ type LogSource = Text class Monad m => MonadLogger m where- monadLoggerLog :: ToLogStr msg => Loc -> LogLevel -> msg -> m ()-- monadLoggerLogSource :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> m ()- monadLoggerLogSource loc _ level msg = monadLoggerLog loc level msg+ monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> m () +{- instance MonadLogger IO where monadLoggerLog _ _ _ = return () instance MonadLogger Identity where monadLoggerLog _ _ _ = return () instance MonadLogger (ST s) where monadLoggerLog _ _ _ = return () instance MonadLogger (Lazy.ST s) where monadLoggerLog _ _ _ = return ()+-} -#define DEF monadLoggerLog a b c = Trans.lift $ monadLoggerLog a b c; monadLoggerLogSource a b c d = Trans.lift $ monadLoggerLogSource a b c d+#define DEF monadLoggerLog a b c d = Trans.lift $ monadLoggerLog a b c d instance MonadLogger m => MonadLogger (IdentityT m) where DEF instance MonadLogger m => MonadLogger (ListT m) where DEF instance MonadLogger m => MonadLogger (MaybeT m) where DEF@@ -124,6 +123,7 @@ instance (MonadLogger m, Monoid w) => MonadLogger (RWST r w s m) where DEF instance MonadLogger m => MonadLogger (ResourceT m) where DEF instance MonadLogger m => MonadLogger (Pipe l i o u m) where DEF+instance MonadLogger m => MonadLogger (ConduitM i o m) where DEF instance MonadLogger m => MonadLogger (Strict.StateT s m) where DEF instance (MonadLogger m, Monoid w) => MonadLogger (Strict.WriterT w m) where DEF instance (MonadLogger m, Monoid w) => MonadLogger (Strict.RWST r w s m) where DEF@@ -131,7 +131,7 @@ logTH :: LogLevel -> Q Exp logTH level =- [|monadLoggerLog $(qLocation >>= liftLoc) $(lift level) . (id :: Text -> Text)|]+ [|monadLoggerLog $(qLocation >>= liftLoc) (pack "") $(lift level) . (id :: Text -> Text)|] -- | Generates a function that takes a 'Text' and logs a 'LevelDebug' message. Usage: --@@ -168,23 +168,23 @@ -- -- > $logDebug "SomeSource" "This is a debug log message" logDebugS :: Q Exp-logDebugS = [|\a b -> monadLoggerLogSource $(qLocation >>= liftLoc) a LevelDebug (b :: Text)|]+logDebugS = [|\a b -> monadLoggerLog $(qLocation >>= liftLoc) a LevelDebug (b :: Text)|] -- | See 'logDebugS' logInfoS :: Q Exp-logInfoS = [|\a b -> monadLoggerLogSource $(qLocation >>= liftLoc) a LevelInfo (b :: Text)|]+logInfoS = [|\a b -> monadLoggerLog $(qLocation >>= liftLoc) a LevelInfo (b :: Text)|] -- | See 'logDebugS' logWarnS :: Q Exp-logWarnS = [|\a b -> monadLoggerLogSource $(qLocation >>= liftLoc) a LevelWarn (b :: Text)|]+logWarnS = [|\a b -> monadLoggerLog $(qLocation >>= liftLoc) a LevelWarn (b :: Text)|] -- | See 'logDebugS' logErrorS :: Q Exp-logErrorS = [|\a b -> monadLoggerLogSource $(qLocation >>= liftLoc) a LevelError (b :: Text)|]+logErrorS = [|\a b -> monadLoggerLog $(qLocation >>= liftLoc) a LevelError (b :: Text)|] -- | Generates a function that takes a 'LogSource', a level name and a 'Text' and logs a 'LevelOther' message. Usage: -- -- > $logOther "SomeSource" "My new level" "This is a log message" logOtherS :: Q Exp-logOtherS = [|\src level msg -> monadLoggerLogSource $(qLocation >>= liftLoc) src (LevelOther level) (msg :: Text)|]+logOtherS = [|\src level msg -> monadLoggerLog $(qLocation >>= liftLoc) src (LevelOther level) (msg :: Text)|] -- | Monad transformer that disables logging. --@@ -232,8 +232,7 @@ restoreM (StMT' base) = NoLoggingT $ restoreM base instance MonadIO m => MonadLogger (NoLoggingT m) where- monadLoggerLog a b c = monadLoggerLogSource a empty b c- monadLoggerLogSource _ _ _ _ = return ()+ monadLoggerLog _ _ _ _ = return () -- | Monad transformer that adds a new logging function. --@@ -284,8 +283,7 @@ restoreM (StMT base) = LoggingT $ const $ restoreM base instance MonadIO m => MonadLogger (LoggingT m) where- monadLoggerLog a b c = monadLoggerLogSource a empty b c- monadLoggerLogSource a b c d = LoggingT $ \f -> liftIO $ f a b c (toLogStr d)+ monadLoggerLog a b c d = LoggingT $ \f -> liftIO $ f a b c (toLogStr d) defaultOutput :: Handle -> Loc
monad-logger.cabal view
@@ -1,5 +1,5 @@ name: monad-logger-version: 0.2.4+version: 0.3.0 synopsis: A class of monads which can log messages. description: This package uses template-haskell for determining source code locations of messages. homepage: https://github.com/kazu-yamamoto/logger@@ -19,7 +19,7 @@ , transformers , text , resourcet >= 0.4 && < 0.5- , conduit >= 0.5 && < 0.6+ , conduit >= 1.0 && < 1.1 , fast-logger >= 0.2 && < 0.4 , transformers-base , monad-control