-- ----------------------------------------------------------------------------
{- |
Module : Holumbus.Common.Logging
Copyright : Copyright (C) 2008 Stefan Schmidt
License : MIT
Maintainer : Stefan Schmidt (stefanschmidt@web.de)
Stability : experimental
Portability: portable
Version : 0.1
In this part of the Holumbus-Framework, we use hslogging. With this, we are
able to activate and deactivate some nice debugging-Output.
This is the global configuration for the logging-output. Of cource, if you
want to use this output, you have to invoke initializeLogging.
-}
-- ----------------------------------------------------------------------------
module Holumbus.Common.Logging
(
-- * Configuration
initializeLogging
)
where
import System.IO
import System.Log.Logger
import System.Log.Handler.Simple
-- import System.Log.Handler.Syslog
-- ----------------------------------------------------------------------------
-- Configuration
-- ----------------------------------------------------------------------------
-- | configures the logging-parameters for the Holumbus-Framework
initializeLogging :: [(String, Priority)] -> IO ()
initializeLogging ls = do
-- log all verbose
v <- verboseStreamHandler stderr DEBUG
updateGlobalLogger rootLoggerName (setLevel DEBUG . setHandlers [v])
-- set all logLevels for all loggers
mapM_ (\(s,p) -> updateGlobalLogger s (setLevel p)) ls
-- log all to syslog
-- s <- openlog "SyslogStuff" [PID] USER DEBUG
-- updateGlobalLogger rootLoggerName (addHandler s)
-- this will be removed in next versions
-- updateGlobalLogger "Holumbus" (setLevel DEBUG)
-- updateGlobalLogger "Holumbus.Network" (setLevel WARNING)
-- updateGlobalLogger "Holumbus.MapReduce.TaskProcessor.task" (setLevel WARNING)
-- updateGlobalLogger "Holumbus.FileSystem.Storage.FileStorage" (setLevel WARNING)
-- updateGlobalLogger "Holumbus.FileSystem.Node.NodeData" (setLevel INFO)
-- updateGlobalLogger "Holumbus.MapReduce.Types" (setLevel INFO)
-- updateGlobalLogger "Holumbus.Network.Communication" (setLevel DEBUG)
-- updateGlobalLogger "Holumbus.MapReduce.JobController.cycle" (setLevel WARNING)