| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Control.Eff.Log.Message
Description
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
Constructors
| LogMessage | |
Fields
| |
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 LogMessages 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.
Constructors
| SdElement | |
Fields
| |
Instances
sdElementParameters :: Lens' StructuredDataElement [SdParameter] Source #