]> gitweb.michael.orlitzky.com - dead/htsn.git/blobdiff - src/Network/Services/TSN/Logging.hs
Move Logging, Report, and Terminal into their own library htsn-common and depend...
[dead/htsn.git] / src / Network / Services / TSN / Logging.hs
diff --git a/src/Network/Services/TSN/Logging.hs b/src/Network/Services/TSN/Logging.hs
deleted file mode 100644 (file)
index a20a897..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-module Network.Services.TSN.Logging (
-  init_logging,
-  log_debug,
-  log_error,
-  log_info,
-  log_warning )
-where
-
-import Control.Monad ( when )
-import System.Environment ( getProgName )
-import System.Log.Formatter ( simpleLogFormatter )
-import System.Log.Handler ( setFormatter )
-import System.Log.Handler.Simple ( GenericHandler, fileHandler )
-import System.Log.Handler.Syslog (
-  Facility ( USER ),
-  openlog )
-import System.Log.Logger (
-  Priority ( INFO ),
-  addHandler,
-  debugM,
-  errorM,
-  infoM,
-  rootLoggerName,
-  setHandlers,
-  setLevel,
-  updateGlobalLogger,
-  warningM )
-
-
--- | Log a message at the DEBUG level.
-log_debug :: String -> IO ()
-log_debug = debugM rootLoggerName
-
--- | Log a message at the ERROR level.
-log_error :: String -> IO ()
-log_error = errorM rootLoggerName
-
--- | Log a message at the INFO level.
-log_info :: String -> IO ()
-log_info = infoM rootLoggerName
-
--- | Log a message at the WARNING level.
-log_warning :: String -> IO ()
-log_warning = warningM rootLoggerName
-
-
--- | Set up the logging. All logs are handled by the global "root"
---   logger provided by HSLogger. We remove all of its handlers so
---   that it does nothing; then we conditionally add back two handlers
---   -- one for syslog, and one for a normal file -- dependent upon
---   the 'syslog' and 'log_file' configuration items.
---
---   Why don't we take a Configuration as an argument? Because it
---   would create circular imports!
-init_logging :: Maybe FilePath -> Priority -> Bool -> IO ()
-init_logging log_file log_level syslog = do
-  -- First set the global log level and clear the default handler.
-  let no_handlers = [] :: [GenericHandler a]
-  updateGlobalLogger rootLoggerName (setLevel log_level .
-                                              setHandlers no_handlers)
-
-  when syslog $ do
-    let min_level = INFO
-    let sl_level = if log_level < min_level then min_level else log_level
-
-    -- The syslog handle gets its own level which will cowardly refuse
-    -- to log all debug info (i.e. the entire feed) to syslog.
-    sl_handler' <- openlog rootLoggerName [] USER sl_level
-
-    -- Syslog should output the date by itself.
-    program_name <- getProgName
-    let sl_formatter = simpleLogFormatter $
-                         program_name ++ "[$pid] $prio: $msg"
-    let sl_handler = setFormatter sl_handler' sl_formatter
-
-    updateGlobalLogger rootLoggerName (addHandler sl_handler)
-
-  case log_file of
-    Nothing -> return ()
-    Just lf -> do
-      lf_handler' <- fileHandler lf log_level
-      let lf_formatter = simpleLogFormatter "$time: htsn[$pid] $prio: $msg"
-      let lf_handler = setFormatter lf_handler' lf_formatter
-      updateGlobalLogger rootLoggerName (addHandler lf_handler)