module SecondTransfer.MainLoop.Logging (
enableConsoleLogging
) where
import System.IO (stderr)
import System.Log.Formatter (simpleLogFormatter)
import System.Log.Handler (setFormatter, LogHandler)
import System.Log.Handler.Simple
import System.Log.Logger
enableConsoleLogging :: IO ()
enableConsoleLogging = configureLoggingToConsole
configureLoggingToConsole :: IO ()
configureLoggingToConsole = do
s <- streamHandler stderr DEBUG >>=
\lh -> return $ setFormatter lh (simpleLogFormatter "[$time : $loggername : $prio] $msg")
setLoggerLevels s
setLoggerLevels :: (LogHandler s) => s -> IO ()
setLoggerLevels s = do
updateGlobalLogger rootLoggerName removeHandler
updateGlobalLogger "HTTP2.Session" (
setHandlers [s] .
setLevel INFO
)
updateGlobalLogger "OpenSSL" (
setHandlers [s] .
setLevel DEBUG
)
updateGlobalLogger "HTTP2.Framer" (
setHandlers [s] .
setLevel DEBUG
)