| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Raft.Logging
Synopsis
- data LogCtx m
- = LogCtx {
- logCtxDest :: LogDest m
- logCtxSeverity :: Severity
- | NoLogs
- = LogCtx {
- data LogDest m
- data Severity
- data LogMsg = LogMsg {}
- data LogMsgData = LogMsgData {
- logMsgNodeId :: NodeId
- logMsgNodeState :: Mode
- logMsg :: Text
- logMsgToText :: LogMsg -> Text
- logMsgDataToText :: LogMsgData -> Text
- class Monad m => RaftLogger v m | m -> v where
- loggerCtx :: m (NodeId, RaftNodeState v)
- mkLogMsgData :: RaftLogger v m => Text -> m LogMsgData
- logToDest :: MonadIO m => LogCtx m -> LogMsg -> m ()
- logToStdout :: MonadIO m => Severity -> LogMsg -> m ()
- logToFile :: MonadIO m => FilePath -> Severity -> LogMsg -> m ()
- logWithSeverityIO :: forall m v. (RaftLogger v m, MonadIO m) => Severity -> LogCtx m -> Text -> m ()
- logInfoIO :: (RaftLogger v m, MonadIO m) => LogCtx m -> Text -> m ()
- logDebugIO :: (RaftLogger v m, MonadIO m) => LogCtx m -> Text -> m ()
- logCriticalIO :: (RaftLogger v m, MonadIO m) => LogCtx m -> Text -> m ()
- newtype RaftLoggerT v m a = RaftLoggerT {
- unRaftLoggerT :: StateT [LogMsg] m a
- runRaftLoggerT :: Monad m => RaftLoggerT v m a -> m (a, [LogMsg])
- type RaftLoggerM v = RaftLoggerT v Identity
- runRaftLoggerM :: RaftLoggerM v a -> (a, [LogMsg])
- logWithSeverity :: RaftLogger v m => Severity -> Text -> RaftLoggerT v m ()
- logInfo :: RaftLogger v m => Text -> RaftLoggerT v m ()
- logDebug :: RaftLogger v m => Text -> RaftLoggerT v m ()
- logCritical :: RaftLogger v m => Text -> RaftLoggerT v m ()
- logAndPanic :: RaftLogger v m => Text -> m a
- logAndPanicIO :: (RaftLogger v m, MonadIO m) => LogCtx m -> Text -> m a
Documentation
Representation of the logs' context
Constructors
| LogCtx | |
Fields
| |
| NoLogs | |
Representation of the logs' destination
Representation of the severity of the logs
Constructors
| LogMsg | |
Fields
| |
Instances
| Show LogMsg Source # | |
| Monad m => MonadState [LogMsg] (RaftLoggerT v m) Source # | |
Defined in Raft.Logging Methods get :: RaftLoggerT v m [LogMsg] # put :: [LogMsg] -> RaftLoggerT v m () # state :: ([LogMsg] -> (a, [LogMsg])) -> RaftLoggerT v m a # | |
data LogMsgData Source #
Constructors
| LogMsgData | |
Fields
| |
Instances
| Show LogMsgData Source # | |
Defined in Raft.Logging Methods showsPrec :: Int -> LogMsgData -> ShowS # show :: LogMsgData -> String # showList :: [LogMsgData] -> ShowS # | |
logMsgToText :: LogMsg -> Text Source #
logMsgDataToText :: LogMsgData -> Text Source #
class Monad m => RaftLogger v m | m -> v where Source #
Methods
loggerCtx :: m (NodeId, RaftNodeState v) Source #
Instances
| RaftLogger v m => RaftLogger v (RaftLoggerT v m) Source # | |
Defined in Raft.Logging Methods loggerCtx :: RaftLoggerT v m (NodeId, RaftNodeState v) Source # | |
| Monad m => RaftLogger v (RaftT v m) Source # | |
Defined in Raft.Monad | |
| RaftLogger v (RWS (TransitionEnv sm v) [Action sm v] PersistentState) Source # | |
Defined in Raft.Transition Methods loggerCtx :: RWS (TransitionEnv sm v) [Action sm v] PersistentState (NodeId, RaftNodeState v) Source # | |
mkLogMsgData :: RaftLogger v m => Text -> m LogMsgData Source #
logWithSeverityIO :: forall m v. (RaftLogger v m, MonadIO m) => Severity -> LogCtx m -> Text -> m () Source #
logDebugIO :: (RaftLogger v m, MonadIO m) => LogCtx m -> Text -> m () Source #
logCriticalIO :: (RaftLogger v m, MonadIO m) => LogCtx m -> Text -> m () Source #
newtype RaftLoggerT v m a Source #
Constructors
| RaftLoggerT | |
Fields
| |
Instances
Arguments
| :: Monad m | |
| => RaftLoggerT v m a | The computation from which to extract the logs |
| -> m (a, [LogMsg]) |
type RaftLoggerM v = RaftLoggerT v Identity Source #
runRaftLoggerM :: RaftLoggerM v a -> (a, [LogMsg]) Source #
logWithSeverity :: RaftLogger v m => Severity -> Text -> RaftLoggerT v m () Source #
logInfo :: RaftLogger v m => Text -> RaftLoggerT v m () Source #
logDebug :: RaftLogger v m => Text -> RaftLoggerT v m () Source #
logCritical :: RaftLogger v m => Text -> RaftLoggerT v m () Source #
logAndPanic :: RaftLogger v m => Text -> m a Source #
logAndPanicIO :: (RaftLogger v m, MonadIO m) => LogCtx m -> Text -> m a Source #