libraft-0.5.0.0: Raft consensus algorithm

Safe HaskellNone
LanguageHaskell2010

Raft.Logging

Synopsis

Documentation

data LogCtx m Source #

Representation of the logs' context

Constructors

LogCtx 
NoLogs 

data LogDest m Source #

Representation of the logs' destination

Constructors

LogWith (MonadIO m => Severity -> Text -> m ()) 
LogFile FilePath 
LogStdout 

data Severity Source #

Representation of the severity of the logs

Constructors

Debug 
Info 
Critical 
Instances
Eq Severity Source # 
Instance details

Defined in Raft.Logging

Ord Severity Source # 
Instance details

Defined in Raft.Logging

Show Severity Source # 
Instance details

Defined in Raft.Logging

data LogMsg Source #

Instances
Show LogMsg Source # 
Instance details

Defined in Raft.Logging

Monad m => MonadState [LogMsg] (RaftLoggerT v m) Source # 
Instance details

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 
Instances
Show LogMsgData Source # 
Instance details

Defined in Raft.Logging

class Monad m => RaftLogger v m | m -> v where Source #

Instances
RaftLogger v m => RaftLogger v (RaftLoggerT v m) Source # 
Instance details

Defined in Raft.Logging

Monad m => RaftLogger v (RaftT v m) Source # 
Instance details

Defined in Raft.Monad

RaftLogger v (RWS (TransitionEnv sm v) [Action sm v] PersistentState) Source # 
Instance details

Defined in Raft.Transition

logToDest :: MonadIO m => LogCtx m -> LogMsg -> m () Source #

logWithSeverityIO :: forall m v. (RaftLogger v m, MonadIO m) => Severity -> LogCtx m -> Text -> m () Source #

logInfoIO :: (RaftLogger v m, MonadIO m) => 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
RaftLogger v m => RaftLogger v (RaftLoggerT v m) Source # 
Instance details

Defined in Raft.Logging

MonadTrans (RaftLoggerT v) Source # 
Instance details

Defined in Raft.Logging

Methods

lift :: Monad m => m a -> RaftLoggerT v m a #

Monad m => MonadState [LogMsg] (RaftLoggerT v m) Source # 
Instance details

Defined in Raft.Logging

Methods

get :: RaftLoggerT v m [LogMsg] #

put :: [LogMsg] -> RaftLoggerT v m () #

state :: ([LogMsg] -> (a, [LogMsg])) -> RaftLoggerT v m a #

Monad m => Monad (RaftLoggerT v m) Source # 
Instance details

Defined in Raft.Logging

Methods

(>>=) :: RaftLoggerT v m a -> (a -> RaftLoggerT v m b) -> RaftLoggerT v m b #

(>>) :: RaftLoggerT v m a -> RaftLoggerT v m b -> RaftLoggerT v m b #

return :: a -> RaftLoggerT v m a #

fail :: String -> RaftLoggerT v m a #

Functor m => Functor (RaftLoggerT v m) Source # 
Instance details

Defined in Raft.Logging

Methods

fmap :: (a -> b) -> RaftLoggerT v m a -> RaftLoggerT v m b #

(<$) :: a -> RaftLoggerT v m b -> RaftLoggerT v m a #

Monad m => Applicative (RaftLoggerT v m) Source # 
Instance details

Defined in Raft.Logging

Methods

pure :: a -> RaftLoggerT v m a #

(<*>) :: RaftLoggerT v m (a -> b) -> RaftLoggerT v m a -> RaftLoggerT v m b #

liftA2 :: (a -> b -> c) -> RaftLoggerT v m a -> RaftLoggerT v m b -> RaftLoggerT v m c #

(*>) :: RaftLoggerT v m a -> RaftLoggerT v m b -> RaftLoggerT v m b #

(<*) :: RaftLoggerT v m a -> RaftLoggerT v m b -> RaftLoggerT v m a #

runRaftLoggerT Source #

Arguments

:: Monad m 
=> RaftLoggerT v m a

The computation from which to extract the logs

-> m (a, [LogMsg]) 

logAndPanicIO :: (RaftLogger v m, MonadIO m) => LogCtx m -> Text -> m a Source #