packages feed

log 0.3.0 → 0.3.1

raw patch · 2 files changed

+2/−2 lines, 2 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Log.Backend.PostgreSQL: instance Enum InvalidEncodingRecoveryAttempt
- Log.Class.Instances: instance [overlap ok] (MonadLog m, Monad (t m), MonadTransControl t) => MonadLog (t m)
- Log.Data: instance Bounded LogLevel
- Log.Data: instance Eq LogLevel
- Log.Data: instance Eq LogMessage
- Log.Data: instance NFData LogLevel
- Log.Data: instance NFData LogMessage
- Log.Data: instance Ord LogLevel
- Log.Data: instance Show LogLevel
- Log.Data: instance Show LogMessage
- Log.Data: instance ToJSON LogMessage
- Log.Data: lmComponent :: LogMessage -> !Text
- Log.Data: lmData :: LogMessage -> !Value
- Log.Data: lmDomain :: LogMessage -> ![Text]
- Log.Data: lmLevel :: LogMessage -> !LogLevel
- Log.Data: lmMessage :: LogMessage -> !Text
- Log.Data: lmTime :: LogMessage -> !UTCTime
- Log.Logger: instance Monoid Logger
- Log.Monad: instance (MonadBase IO m, MonadTime m) => MonadLog (LogT m)
- Log.Monad: instance Applicative m => Applicative (LogT m)
- Log.Monad: instance Functor m => Functor (LogT m)
- Log.Monad: instance Monad m => Monad (LogT m)
- Log.Monad: instance MonadBase b m => MonadBase b (LogT m)
- Log.Monad: instance MonadBaseControl b m => MonadBaseControl b (LogT m)
- Log.Monad: instance MonadCatch m => MonadCatch (LogT m)
- Log.Monad: instance MonadIO m => MonadIO (LogT m)
- Log.Monad: instance MonadMask m => MonadMask (LogT m)
- Log.Monad: instance MonadThrow m => MonadThrow (LogT m)
- Log.Monad: instance MonadTrans LogT
- Log.Monad: instance MonadTransControl LogT
- Log.Monad: leComponent :: LoggerEnv -> !Text
- Log.Monad: leData :: LoggerEnv -> ![Pair]
- Log.Monad: leDomain :: LoggerEnv -> ![Text]
- Log.Monad: leLogger :: LoggerEnv -> !Logger
- Log.Monad: unLogT :: LogT m a -> InnerLogT m a
+ Log.Backend.PostgreSQL: instance GHC.Enum.Enum Log.Backend.PostgreSQL.InvalidEncodingRecoveryAttempt
+ Log.Class.Instances: instance (Log.Class.MonadLog m, GHC.Base.Monad (t m), Control.Monad.Trans.Control.MonadTransControl t) => Log.Class.MonadLog (t m)
+ Log.Data: [lmComponent] :: LogMessage -> !Text
+ Log.Data: [lmData] :: LogMessage -> !Value
+ Log.Data: [lmDomain] :: LogMessage -> ![Text]
+ Log.Data: [lmLevel] :: LogMessage -> !LogLevel
+ Log.Data: [lmMessage] :: LogMessage -> !Text
+ Log.Data: [lmTime] :: LogMessage -> !UTCTime
+ Log.Data: instance Control.DeepSeq.NFData Log.Data.LogLevel
+ Log.Data: instance Control.DeepSeq.NFData Log.Data.LogMessage
+ Log.Data: instance Data.Aeson.Types.Class.ToJSON Log.Data.LogMessage
+ Log.Data: instance GHC.Classes.Eq Log.Data.LogLevel
+ Log.Data: instance GHC.Classes.Eq Log.Data.LogMessage
+ Log.Data: instance GHC.Classes.Ord Log.Data.LogLevel
+ Log.Data: instance GHC.Enum.Bounded Log.Data.LogLevel
+ Log.Data: instance GHC.Show.Show Log.Data.LogLevel
+ Log.Data: instance GHC.Show.Show Log.Data.LogMessage
+ Log.Logger: instance GHC.Base.Monoid Log.Logger.Logger
+ Log.Monad: [leComponent] :: LoggerEnv -> !Text
+ Log.Monad: [leData] :: LoggerEnv -> ![Pair]
+ Log.Monad: [leDomain] :: LoggerEnv -> ![Text]
+ Log.Monad: [leLogger] :: LoggerEnv -> !Logger
+ Log.Monad: [unLogT] :: LogT m a -> InnerLogT m a
+ Log.Monad: instance (Control.Monad.Base.MonadBase GHC.Types.IO m, Control.Monad.Time.MonadTime m) => Log.Class.MonadLog (Log.Monad.LogT m)
+ Log.Monad: instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Log.Monad.LogT m)
+ Log.Monad: instance Control.Monad.Catch.MonadCatch m => Control.Monad.Catch.MonadCatch (Log.Monad.LogT m)
+ Log.Monad: instance Control.Monad.Catch.MonadMask m => Control.Monad.Catch.MonadMask (Log.Monad.LogT m)
+ Log.Monad: instance Control.Monad.Catch.MonadThrow m => Control.Monad.Catch.MonadThrow (Log.Monad.LogT m)
+ Log.Monad: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Log.Monad.LogT m)
+ Log.Monad: instance Control.Monad.Trans.Class.MonadTrans Log.Monad.LogT
+ Log.Monad: instance Control.Monad.Trans.Control.MonadBaseControl b m => Control.Monad.Trans.Control.MonadBaseControl b (Log.Monad.LogT m)
+ Log.Monad: instance Control.Monad.Trans.Control.MonadTransControl Log.Monad.LogT
+ Log.Monad: instance GHC.Base.Alternative m => GHC.Base.Alternative (Log.Monad.LogT m)
+ Log.Monad: instance GHC.Base.Applicative m => GHC.Base.Applicative (Log.Monad.LogT m)
+ Log.Monad: instance GHC.Base.Functor m => GHC.Base.Functor (Log.Monad.LogT m)
+ Log.Monad: instance GHC.Base.Monad m => GHC.Base.Monad (Log.Monad.LogT m)
+ Log.Monad: instance GHC.Base.MonadPlus m => GHC.Base.MonadPlus (Log.Monad.LogT m)
- Log: (.=) :: ToJSON a => Text -> a -> Pair
+ Log: (.=) :: KeyValue kv => forall v. ToJSON v => Text -> v -> kv

Files

log.cabal view
@@ -1,5 +1,5 @@ name:                log-version:             0.3.0+version:             0.3.1 synopsis:            Structured logging solution with multiple backends  description:         A library that provides a way to record structured log messages with multiple backends.
src/Log/Monad.hs view
@@ -38,7 +38,7 @@  -- | Monad transformer that adds logging capabilities to the underlying monad. newtype LogT m a = LogT { unLogT :: InnerLogT m a }-  deriving (Applicative, Functor, Monad, MonadBase b, MonadCatch, MonadIO, MonadMask, MonadThrow, MonadTrans)+  deriving (Alternative, Applicative, Functor, Monad, MonadBase b, MonadCatch, MonadIO, MonadMask, MonadPlus, MonadThrow, MonadTrans)  runLogT :: Text -> Logger -> LogT m a -> m a runLogT component logger m = runReaderT (unLogT m) LoggerEnv {