-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | FFI interface to syslog(3) from POSIX.1-2001 -- -- This library provides FFI bindings to syslog(3) from POSIX.1-2001. See -- http://www.opengroup.org/onlinepubs/009695399/basedefs/syslog.h.html -- for further details. @package hsyslog @version 3 -- | FFI bindings to syslog(3) from POSIX.1-2001. module System.Posix.Syslog -- | Log messages have a priority attached. data Priority -- | 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 toPriority :: CInt -> Priority fromPriority :: Priority -> CInt -- | Syslog distinguishes various system facilities. Most applications -- should log in USER. data Facility -- | kernel messages KERN :: Facility -- | user-level messages (default unless set otherwise) USER :: Facility -- | mail system MAIL :: Facility -- | system daemons DAEMON :: Facility -- | security/authorization messages AUTH :: Facility -- | messages generated internally by syslogd SYSLOG :: Facility -- | line printer subsystem LPR :: Facility -- | network news subsystem NEWS :: Facility -- | UUCP subsystem UUCP :: Facility -- | clock daemon CRON :: Facility -- | security/authorization messages (effectively equals AUTH on -- some systems) AUTHPRIV :: Facility -- | ftp daemon (effectively equals DAEMON on some systems) FTP :: 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 toFacility :: CInt -> Facility fromFacility :: Facility -> CInt -- | withSyslog options for the syslog service. data Option -- | log the pid with each message PID :: Option -- | log on the console if errors in sending CONS :: Option -- | delay open until first syslog() (default) ODELAY :: Option -- | don't delay open NDELAY :: Option -- | don't wait for console forks: DEPRECATED NOWAIT :: Option -- | log to stderr as well (might be a no-op on some systems) PERROR :: Option toOption :: CInt -> Option fromOption :: Option -> CInt -- | withSyslog options for the priority mask data PriorityMask -- | allow all messages thru NoMask :: PriorityMask -- | allow only messages with the priorities listed Mask :: [Priority] -> PriorityMask -- | allow only messages down to and including the specified priority UpTo :: Priority -> PriorityMask fromPriorityMask :: PriorityMask -> CInt data SyslogConfig SyslogConfig :: ByteString -> [Option] -> [Facility] -> PriorityMask -> SyslogConfig -- | string appended to each log message [identifier] :: SyslogConfig -> ByteString -- | options for syslog behavior [options] :: SyslogConfig -> [Option] -- | facilities logged to when none are provided [defaultFacilities] :: SyslogConfig -> [Facility] -- | filter by priority which messages are logged [priorityMask] :: SyslogConfig -> PriorityMask -- | A practical default syslog config. You'll at least want to change the -- identifier. defaultConfig :: SyslogConfig -- | Bracket an IO computation between calls to _openlog, -- _setlogmask, and _closelog, and provide a logging -- function which can be used as follows: -- --
-- main = withSyslog defaultConfig $ \syslog -> do -- putStrLn "huhu" -- syslog [Debug] "huhu" ---- -- Note that these are process-wide settings, so multiple calls to -- this function will interfere with each other in unpredictable ways. withSyslog :: SyslogConfig -> (SyslogFn -> IO ()) -> IO () -- | The type of logging function provided by withSyslog. type SyslogFn = [Priority] the priorities under which to log -> ByteString the message to log -> IO () -- | Like withSyslog but provides a function for logging to specific -- facilities per message rather than the default facilities in your -- SyslogConfig. withSyslogTo :: SyslogConfig -> (SyslogToFn -> IO ()) -> IO () -- | The type of function provided by withSyslogTo. type SyslogToFn = [Facility] the facilities to log to -> [Priority] the priorities under which to log -> ByteString the message to log -> IO () syslogUnsafe :: SyslogFn syslogToUnsafe :: SyslogToFn -- | Open a connection to the system logger for a program. The string -- identifier passed as the first argument is prepended to every message, -- and is typically set to the program name. The behavior is unspecified -- by POSIX.1-2008 if that identifier is nullPtr. _openlog :: CString -> CInt -> CInt -> IO () -- | Close the descriptor being used to write to the system logger. _closelog :: IO () -- | A process has a log priority mask that determines which calls to -- syslog may be logged. All other calls will be ignored. Logging is -- enabled for the priorities that have the corresponding bit set in -- mask. The initial mask is such that logging is enabled for all -- priorities. This function sets this logmask for the calling process, -- and returns the previous mask. If the mask argument is 0, the current -- logmask is not modified. _setlogmask :: CInt -> IO CInt -- | Generate a log message, which will be distributed by -- syslogd(8). The priority argument is formed by ORing the -- facility and the level values (explained below). The remaining -- arguments are a format, as in printf(3) and any arguments required by -- the format, except that the two character sequence %m will be replaced -- by the error message string strerror(errno). A trailing newline may be -- added if needed. _syslog :: CInt -> CString -> IO () _LOG_MASK :: CInt -> CInt _LOG_UPTO :: CInt -> CInt _LOG_MAKEPRI :: CInt -> CInt -> CInt instance GHC.Generics.Constructor System.Posix.Syslog.C1_7Priority instance GHC.Generics.Constructor System.Posix.Syslog.C1_6Priority instance GHC.Generics.Constructor System.Posix.Syslog.C1_5Priority instance GHC.Generics.Constructor System.Posix.Syslog.C1_4Priority instance GHC.Generics.Constructor System.Posix.Syslog.C1_3Priority instance GHC.Generics.Constructor System.Posix.Syslog.C1_2Priority instance GHC.Generics.Constructor System.Posix.Syslog.C1_1Priority instance GHC.Generics.Constructor System.Posix.Syslog.C1_0Priority instance GHC.Generics.Datatype System.Posix.Syslog.D1Priority instance GHC.Show.Show System.Posix.Syslog.SyslogConfig instance GHC.Classes.Eq System.Posix.Syslog.SyslogConfig instance GHC.Show.Show System.Posix.Syslog.PriorityMask instance GHC.Classes.Eq System.Posix.Syslog.PriorityMask instance GHC.Show.Show System.Posix.Syslog.Option instance GHC.Classes.Eq System.Posix.Syslog.Option instance GHC.Enum.Enum System.Posix.Syslog.Option instance GHC.Enum.Bounded System.Posix.Syslog.Option instance GHC.Read.Read System.Posix.Syslog.Facility instance GHC.Show.Show System.Posix.Syslog.Facility instance GHC.Classes.Eq System.Posix.Syslog.Facility instance GHC.Enum.Enum System.Posix.Syslog.Facility instance GHC.Enum.Bounded System.Posix.Syslog.Facility instance GHC.Generics.Generic System.Posix.Syslog.Priority instance GHC.Read.Read System.Posix.Syslog.Priority instance GHC.Show.Show System.Posix.Syslog.Priority instance GHC.Classes.Eq System.Posix.Syslog.Priority instance GHC.Enum.Enum System.Posix.Syslog.Priority instance GHC.Enum.Bounded System.Posix.Syslog.Priority