9 import System.Log.Handler.Simple ( fileHandler )
10 import System.Log.Handler.Syslog (
14 import System.Log.Logger (
15 Priority ( DEBUG, INFO ),
25 log_debug :: String -> IO ()
26 log_debug = debugM rootLoggerName
28 log_error :: String -> IO ()
29 log_error = errorM rootLoggerName
31 log_info :: String -> IO ()
32 log_info = infoM rootLoggerName
34 log_warning :: String -> IO ()
35 log_warning = warningM rootLoggerName
37 init_logging :: FilePath -> Priority -> Bool -> IO ()
38 init_logging log_file log_level syslog
40 handler <- openlog rootLoggerName [PID] USER level
41 updateGlobalLogger rootLoggerName (setLevel level . setHandlers [handler])
43 handler <- fileHandler log_file level
44 updateGlobalLogger rootLoggerName (setLevel level . setHandlers [handler])
46 min_level = if syslog then INFO else DEBUG
47 level = if log_level < min_level then min_level else log_level