-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Syslog functions for log-effect -- -- Utility functions for combining log-effect and syslog @package log-effect-syslog @version 0.1.0 module Control.Eff.Log.Syslog -- | Message type that contains priority and message text. data SyslogMsg SyslogMsg :: Priority -> ByteString -> SyslogMsg -- | Syslog Logger syslogLogger :: MonadBase IO m => Logger m SyslogMsg -- | Wrapper around runLogM and withSyslog runSyslog :: (MonadBase IO m, MonadBaseControl IO (Eff r), Lifted m r) => String -> [Option] -> Facility -> Eff (LogM m SyslogMsg : r) a -> Eff r a -- | Get syslog log mask. Implemented as a wrapper around hsyslog's -- setlogmask getLogMask :: MonadBase IO m => m [Priority] -- | Set syslog log mask Implemented as a wrapper around hsyslog's -- setlogmask setLogMask :: MonadBase IO m => [Priority] -> m () -- | Log some text to syslog 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 () -- | 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
--   
data Priority :: * -- | the system is unusable Emergency :: Priority -- | action must be taken immediately Alert :: Priority -- | critical conditions Critical :: Priority -- | error conditions Error :: Priority -- | warning conditions Warning :: Priority -- | normal but significant condition Notice :: Priority -- | informational Info :: Priority -- | debug-level messages Debug :: Priority -- | The function openlog allows one to configure a handful of -- process-wide options that modify the bahavior of the syslog -- funcion. These options are pid, cons, -- odelay, and ndelay. data Option :: * -- | Log the pid with each message. LogPID :: Option -- | Log on the console if errors occur while sending messages. Console :: Option -- | Delay all initialization until first syslog() call (default). DelayedOpen :: Option -- | Initalize the syslog system immediately. ImmediateOpen :: Option -- | The syslog system should not attempt to wait for child process it may -- have created. This option is required by applications who enable -- SIGCHLD themselves. DontWaitForChildren :: Option -- | Syslog distinguishes various system facilities. Most applications -- should log in USER. data Facility :: * -- | kernel messages Kernel :: Facility -- | user-level messages (default unless set otherwise) User :: Facility -- | mail system Mail :: Facility -- | network news subsystem News :: Facility -- | UUCP subsystem UUCP :: Facility -- | system daemons Daemon :: Facility -- | security and authorization messages Auth :: Facility -- | clock daemon Cron :: Facility -- | line printer subsystem LPR :: Facility -- | reserved for local use Local0 :: Facility -- | reserved for local use Local1 :: Facility -- | reserved for local use Local2 :: Facility -- | reserved for local use Local3 :: Facility -- | reserved for local use Local4 :: Facility -- | reserved for local use Local5 :: Facility -- | reserved for local use Local6 :: Facility -- | reserved for local use Local7 :: Facility instance Control.Eff.Log.LogMessage Control.Eff.Log.Syslog.SyslogMsg