summaryrefslogtreecommitdiffhomepage
path: root/HTTP
diff options
context:
space:
mode:
Diffstat (limited to 'HTTP')
-rw-r--r--HTTP/Logger.hs21
-rw-r--r--HTTP/Server.hs3
2 files changed, 10 insertions, 14 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)
diff --git a/HTTP/Server.hs b/HTTP/Server.hs
index c36a6cc..e2165eb 100644
--- a/HTTP/Server.hs
+++ b/HTTP/Server.hs
@@ -35,7 +35,8 @@ data ServerState = ServerState
}
newServerState :: Maybe LocalStorageDirectory -> ServerConfig -> IO ServerState
-newServerState d cfg = withLogger $ \l ->
+newServerState d cfg = do
+ l <- newLogger
ServerState
<$> newEmptyTMVarIO
<*> pure d