Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data SyslogMsg = SyslogMsg Priority ByteString
- syslogLogger :: MonadBase IO m => Logger m SyslogMsg
- runSyslog :: (MonadBase IO m, MonadBaseControl IO (Eff r), Lifted m r) => String -> [Option] -> Facility -> Eff (LogM m SyslogMsg ': r) a -> Eff r a
- getLogMask :: MonadBase IO m => m [Priority]
- setLogMask :: MonadBase IO m => [Priority] -> m ()
- logSyslog :: (LogMessage l, MonadBase IO m, Member (LogM m SyslogMsg) r, Lifted m r) => Priority -> l -> Eff r ()
- logDebug :: (LogMessage l, MonadBase IO m, Member (LogM m SyslogMsg) r, Lifted m r) => l -> Eff r ()
- logInfo :: (LogMessage l, MonadBase IO m, Member (LogM m SyslogMsg) r, Lifted m r) => l -> Eff r ()
- logNotice :: (LogMessage l, MonadBase IO m, Member (LogM m SyslogMsg) r, Lifted m r) => l -> Eff r ()
- logWarning :: (LogMessage l, MonadBase IO m, Member (LogM m SyslogMsg) r, Lifted m r) => l -> Eff r ()
- logError :: (LogMessage l, MonadBase IO m, Member (LogM m SyslogMsg) r, Lifted m r) => l -> Eff r ()
- logCritical :: (LogMessage l, MonadBase IO m, Member (LogM m SyslogMsg) r, Lifted m r) => l -> Eff r ()
- logAlert :: (LogMessage l, MonadBase IO m, Member (LogM m SyslogMsg) r, Lifted m r) => l -> Eff r ()
- logEmergency :: (LogMessage l, MonadBase IO m, Member (LogM m SyslogMsg) r, Lifted m r) => l -> Eff r ()
- data Priority
- data Option
- data Facility
Documentation
Message type that contains priority and message text.
Instances
LogMessage SyslogMsg Source # | |
Defined in Control.Eff.Log.Syslog toMsg :: SyslogMsg -> ByteString # |
:: (MonadBase IO m, MonadBaseControl IO (Eff r), Lifted m r) | |
=> String | Syslog ident |
-> [Option] | Syslog options |
-> Facility | Syslog facility |
-> Eff (LogM m SyslogMsg ': r) a | |
-> Eff r a |
Wrapper around runLogM
and withSyslog
getLogMask :: MonadBase IO m => m [Priority] Source #
Get syslog log mask.
Implemented as a wrapper around hsyslog's setlogmask
setLogMask :: MonadBase IO m => [Priority] -> m () Source #
Set syslog log mask
Implemented as a wrapper around hsyslog's setlogmask
logSyslog :: (LogMessage l, MonadBase IO m, Member (LogM m SyslogMsg) r, Lifted m r) => Priority -> l -> Eff r () Source #
Log some text to syslog
logDebug :: (LogMessage l, MonadBase IO m, Member (LogM m SyslogMsg) r, Lifted m r) => l -> Eff r () Source #
logInfo :: (LogMessage l, MonadBase IO m, Member (LogM m SyslogMsg) r, Lifted m r) => l -> Eff r () Source #
logNotice :: (LogMessage l, MonadBase IO m, Member (LogM m SyslogMsg) r, Lifted m r) => l -> Eff r () Source #
logWarning :: (LogMessage l, MonadBase IO m, Member (LogM m SyslogMsg) r, Lifted m r) => l -> Eff r () Source #
logError :: (LogMessage l, MonadBase IO m, Member (LogM m SyslogMsg) r, Lifted m r) => l -> Eff r () Source #
logCritical :: (LogMessage l, MonadBase IO m, Member (LogM m SyslogMsg) r, Lifted m r) => l -> Eff r () Source #
logAlert :: (LogMessage l, MonadBase IO m, Member (LogM m SyslogMsg) r, Lifted m r) => l -> Eff r () Source #
logEmergency :: (LogMessage l, MonadBase IO m, Member (LogM m SyslogMsg) r, Lifted m r) => l -> Eff r () Source #
Log messages are prioritized with one of the following levels:
>>>
[minBound..maxBound] :: [Priority]
[Emergency,Alert,Critical,Error,Warning,Notice,Info,Debug]
The Ord
instance for Priority
considers the more urgent level lower than
less urgent ones:
>>>
Emergency < Debug
True>>>
minimum [minBound..maxBound] :: Priority
Emergency>>>
maximum [minBound..maxBound] :: Priority
Debug
Emergency | the system is unusable |
Alert | action must be taken immediately |
Critical | critical conditions |
Error | error conditions |
Warning | warning conditions |
Notice | normal but significant condition |
Info | informational |
Debug | debug-level messages |
Instances
Bounded Priority | |
Enum Priority | |
Defined in System.Posix.Syslog.Priority | |
Eq Priority | |
Ord Priority | |
Defined in System.Posix.Syslog.Priority | |
Read Priority | |
Show Priority | |
Generic Priority | |
type Rep Priority | |
Defined in System.Posix.Syslog.Priority type Rep Priority = D1 (MetaData "Priority" "System.Posix.Syslog.Priority" "hsyslog-5.0.2-4YPEwpeEGKZ6PP1UUUwS4g" False) (((C1 (MetaCons "Emergency" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Alert" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "Critical" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Error" PrefixI False) (U1 :: Type -> Type))) :+: ((C1 (MetaCons "Warning" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Notice" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "Info" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Debug" PrefixI False) (U1 :: Type -> Type)))) |
The function openlog
allows one to configure a handful of process-wide
options that modify the behavior of the syslog
function. These options are
pid
, cons
, odelay
, and ndelay
.
LogPID | Log the pid with each message. |
Console | Log on the console if errors occur while sending messages. |
DelayedOpen | Delay all initialization until first |
ImmediateOpen | Initialize the syslog system immediately. |
DontWaitForChildren | The syslog system should not attempt to wait for child
process it may have created. This option is required by
applications who enable |
Instances
Bounded Option | |
Enum Option | |
Defined in System.Posix.Syslog.Options | |
Eq Option | |
Read Option | |
Show Option | |
Generic Option | |
type Rep Option | |
Defined in System.Posix.Syslog.Options type Rep Option = D1 (MetaData "Option" "System.Posix.Syslog.Options" "hsyslog-5.0.2-4YPEwpeEGKZ6PP1UUUwS4g" False) ((C1 (MetaCons "LogPID" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Console" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "DelayedOpen" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "ImmediateOpen" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "DontWaitForChildren" PrefixI False) (U1 :: Type -> Type)))) |
Syslog distinguishes various system facilities. Most applications should
log in USER
.
Kernel | kernel messages |
User | user-level messages (default unless set otherwise) |
mail system | |
News | network news subsystem |
UUCP | UUCP subsystem |
Daemon | system daemons |
Auth | security and authorization messages |
Cron | clock daemon |
LPR | line printer subsystem |
Local0 | reserved for local use |
Local1 | reserved for local use |
Local2 | reserved for local use |
Local3 | reserved for local use |
Local4 | reserved for local use |
Local5 | reserved for local use |
Local6 | reserved for local use |
Local7 | reserved for local use |