summaryrefslogtreecommitdiffhomepage
path: root/HTTP/Logger.hs
diff options
context:
space:
mode:
Diffstat (limited to 'HTTP/Logger.hs')
-rw-r--r--HTTP/Logger.hs21
1 files changed, 8 insertions, 13 deletions
diff --git a/HTTP/Logger.hs b/HTTP/Logger.hs
index 0254017..2758c37 100644
--- a/HTTP/Logger.hs
+++ b/HTTP/Logger.hs
@@ -3,22 +3,17 @@
- Licensed under the GNU AGPL version 3 or higher.
-}
-{-# LANGUAGE OverloadedStrings #-}
-
module HTTP.Logger where
import System.Log.FastLogger
-import Data.Monoid
-import Prelude
+import Data.String
-data Logger = Logger TimedFastLogger TimedFastLogger
+data Logger = Logger LoggerSet LoggerSet
-withLogger :: (Logger -> IO a) -> IO a
-withLogger a = do
- t <- newTimeCache "%c"
- withTimedFastLogger t (LogStdout defaultBufSize) $ \stdout ->
- withTimedFastLogger t (LogStderr defaultBufSize) $ \stderr ->
- a (Logger stdout stderr)
+newLogger :: IO Logger
+newLogger = Logger
+ <$> newStdoutLoggerSet defaultBufSize
+ <*> newStderrLoggerSet defaultBufSize
logStdout :: Logger -> String -> IO ()
logStdout (Logger l _) = sendLogger l
@@ -26,5 +21,5 @@ logStdout (Logger l _) = sendLogger l
logStderr :: Logger -> String -> IO ()
logStderr (Logger _ l) = sendLogger l
-sendLogger :: TimedFastLogger -> String -> IO ()
-sendLogger l s = l (\t -> "[" <> toLogStr t <> "] " <> toLogStr s <> "\n")
+sendLogger :: LoggerSet -> String -> IO ()
+sendLogger l s = pushLogStrLn l (fromString s)