Safe Haskell | None |
---|---|
Language | Haskell2010 |
An RFC 5434 inspired log message and convenience functions for logging them.
Synopsis
- data LogMessage = LogMessage {
- _lmFacility :: Facility
- _lmSeverity :: Severity
- _lmTimestamp :: Maybe UTCTime
- _lmHostname :: Maybe String
- _lmAppname :: Maybe String
- _lmProcessId :: Maybe String
- _lmMessageId :: Maybe String
- _lmStructuredData :: [StructuredDataElement]
- _lmThreadId :: Maybe ThreadId
- _lmSrcLoc :: Maybe SrcLoc
- _lmMessage :: String
- renderRFC5424 :: LogMessage -> String
- printLogMessage :: LogMessage -> IO ()
- relogAsDebugMessages :: Member (Logs LogMessage) e => Eff (Logs String ': e) a -> Eff e a
- logWithSeverity :: Member (Logs LogMessage) e => Severity -> String -> Eff e ()
- logEmergency :: Member (Logs LogMessage) e => String -> Eff e ()
- logAlert :: Member (Logs LogMessage) e => String -> Eff e ()
- logCritical :: Member (Logs LogMessage) e => String -> Eff e ()
- logError :: Member (Logs LogMessage) e => String -> Eff e ()
- logWarning :: Member (Logs LogMessage) e => String -> Eff e ()
- logNotice :: Member (Logs LogMessage) e => String -> Eff e ()
- logInfo :: Member (Logs LogMessage) e => String -> Eff e ()
- logDebug :: Member (Logs LogMessage) e => String -> Eff e ()
- errorMessage :: String -> LogMessage
- infoMessage :: String -> LogMessage
- debugMessage :: String -> LogMessage
- errorMessageIO :: MonadIO m => String -> m LogMessage
- infoMessageIO :: MonadIO m => String -> m LogMessage
- debugMessageIO :: MonadIO m => String -> m LogMessage
- data Severity
- emergencySeverity :: Severity
- alertSeverity :: Severity
- criticalSeverity :: Severity
- errorSeverity :: Severity
- warningSeverity :: Severity
- noticeSeverity :: Severity
- informationalSeverity :: Severity
- debugSeverity :: Severity
- data Facility
- kernelMessages :: Facility
- userLevelMessages :: Facility
- mailSystem :: Facility
- systemDaemons :: Facility
- securityAuthorizationMessages4 :: Facility
- linePrinterSubsystem :: Facility
- networkNewsSubsystem :: Facility
- uucpSubsystem :: Facility
- clockDaemon :: Facility
- securityAuthorizationMessages10 :: Facility
- ftpDaemon :: Facility
- ntpSubsystem :: Facility
- logAuditFacility :: Facility
- logAlertFacility :: Facility
- clockDaemon2 :: Facility
- local0 :: Facility
- local1 :: Facility
- local2 :: Facility
- local3 :: Facility
- local4 :: Facility
- local5 :: Facility
- local6 :: Facility
- local7 :: Facility
- lmFacility :: Lens' LogMessage Facility
- lmSeverity :: Lens' LogMessage Severity
- lmTimestamp :: Lens' LogMessage (Maybe UTCTime)
- lmHostname :: Lens' LogMessage (Maybe String)
- lmAppname :: Lens' LogMessage (Maybe String)
- lmProcessId :: Lens' LogMessage (Maybe String)
- lmMessageId :: Lens' LogMessage (Maybe String)
- lmStructuredData :: Lens' LogMessage [StructuredDataElement]
- lmSrcLoc :: Lens' LogMessage (Maybe SrcLoc)
- lmThreadId :: Lens' LogMessage (Maybe ThreadId)
- lmMessage :: Lens' LogMessage String
- setCallStack :: CallStack -> LogMessage -> LogMessage
- data StructuredDataElement = SdElement {
- _sdElementId :: String
- _sdElementParameters :: [SdParameter]
- sdElementId :: Lens' StructuredDataElement String
- sdElementParameters :: Lens' StructuredDataElement [SdParameter]
Documentation
data LogMessage Source #
A message data type inspired by the RFC-5424 Syslog Protocol
Instances
renderRFC5424 :: LogMessage -> String Source #
Render a LogMessage
according to the rules in the given RFC, except for
the rules concerning unicode and ascii
printLogMessage :: LogMessage -> IO () Source #
Render a LogMessage
but set the timestamp and thread id fields.
relogAsDebugMessages :: Member (Logs LogMessage) e => Eff (Logs String ': e) a -> Eff e a Source #
Handle a Logs
effect for String
messages by re-logging the messages
as LogMessage
s with debugSeverity
.
logWithSeverity :: Member (Logs LogMessage) e => Severity -> String -> Eff e () Source #
Log a String
as LogMessage
with a given Severity
.
logEmergency :: Member (Logs LogMessage) e => String -> Eff e () Source #
Log a String
as emergencySeverity
.
logAlert :: Member (Logs LogMessage) e => String -> Eff e () Source #
Log a message with alertSeverity
.
logCritical :: Member (Logs LogMessage) e => String -> Eff e () Source #
Log a criticalSeverity
message.
logError :: Member (Logs LogMessage) e => String -> Eff e () Source #
Log a errorSeverity
message.
logWarning :: Member (Logs LogMessage) e => String -> Eff e () Source #
Log a warningSeverity
message.
logNotice :: Member (Logs LogMessage) e => String -> Eff e () Source #
Log a noticeSeverity
message.
logInfo :: Member (Logs LogMessage) e => String -> Eff e () Source #
Log a informationalSeverity
message.
logDebug :: Member (Logs LogMessage) e => String -> Eff e () Source #
Log a debugSeverity
message.
errorMessage :: String -> LogMessage Source #
Construct a LogMessage
with errorSeverity
infoMessage :: String -> LogMessage Source #
Construct a LogMessage
with informationalSeverity
debugMessage :: String -> LogMessage Source #
Construct a LogMessage
with debugSeverity
errorMessageIO :: MonadIO m => String -> m LogMessage Source #
Construct a LogMessage
with errorSeverity
infoMessageIO :: MonadIO m => String -> m LogMessage Source #
Construct a LogMessage
with informationalSeverity
debugMessageIO :: MonadIO m => String -> m LogMessage Source #
Construct a LogMessage
with debugSeverity
An rfc 5424 severity
Instances
Eq Severity Source # | |
Ord Severity Source # | |
Defined in Control.Eff.Log.Message | |
Show Severity Source # | |
Generic Severity Source # | |
Default Severity Source # | |
Defined in Control.Eff.Log.Message | |
NFData Severity Source # | |
Defined in Control.Eff.Log.Message | |
type Rep Severity Source # | |
Defined in Control.Eff.Log.Message |
An rfc 5424 facility
Instances
Eq Facility Source # | |
Ord Facility Source # | |
Defined in Control.Eff.Log.Message | |
Show Facility Source # | |
Generic Facility Source # | |
Default Facility Source # | |
Defined in Control.Eff.Log.Message | |
NFData Facility Source # | |
Defined in Control.Eff.Log.Message | |
type Rep Facility Source # | |
Defined in Control.Eff.Log.Message |
lmHostname :: Lens' LogMessage (Maybe String) Source #
lmProcessId :: Lens' LogMessage (Maybe String) Source #
lmMessageId :: Lens' LogMessage (Maybe String) Source #
setCallStack :: CallStack -> LogMessage -> LogMessage Source #
Put the source location of the given callstack in lmSrcLoc
data StructuredDataElement Source #
RFC-5424 defines how structured data can be included in a log message.
SdElement | |
|
Instances
sdElementParameters :: Lens' StructuredDataElement [SdParameter] Source #