summaryrefslogtreecommitdiffhomepage
path: root/HTTP
diff options
context:
space:
mode:
authorJoey Hess <joeyh@joeyh.name>2016-09-13 17:52:07 -0400
committerJoey Hess <joeyh@joeyh.name>2016-09-13 17:52:07 -0400
commit0f0aa21ea11f6eae368326b178d4c3eaf5cc5186 (patch)
tree24e52fd9b6d054e85553df5cadfdc4fc5d5df83b /HTTP
parent86cb38c936da30910700c58353a5e716fa94e83c (diff)
downloadkeysafe-0f0aa21ea11f6eae368326b178d4c3eaf5cc5186.tar.gz
add date to logger
Diffstat (limited to 'HTTP')
-rw-r--r--HTTP/Logger.hs21
-rw-r--r--HTTP/Server.hs3
2 files changed, 14 insertions, 10 deletions
diff --git a/HTTP/Logger.hs b/HTTP/Logger.hs
index 2758c37..0254017 100644
--- a/HTTP/Logger.hs
+++ b/HTTP/Logger.hs
@@ -3,17 +3,22 @@
- Licensed under the GNU AGPL version 3 or higher.
-}
+{-# LANGUAGE OverloadedStrings #-}
+
module HTTP.Logger where
import System.Log.FastLogger
-import Data.String
+import Data.Monoid
+import Prelude
-data Logger = Logger LoggerSet LoggerSet
+data Logger = Logger TimedFastLogger TimedFastLogger
-newLogger :: IO Logger
-newLogger = Logger
- <$> newStdoutLoggerSet defaultBufSize
- <*> newStderrLoggerSet defaultBufSize
+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)
logStdout :: Logger -> String -> IO ()
logStdout (Logger l _) = sendLogger l
@@ -21,5 +26,5 @@ logStdout (Logger l _) = sendLogger l
logStderr :: Logger -> String -> IO ()
logStderr (Logger _ l) = sendLogger l
-sendLogger :: LoggerSet -> String -> IO ()
-sendLogger l s = pushLogStrLn l (fromString s)
+sendLogger :: TimedFastLogger -> String -> IO ()
+sendLogger l s = l (\t -> "[" <> toLogStr t <> "] " <> toLogStr s <> "\n")
diff --git a/HTTP/Server.hs b/HTTP/Server.hs
index e2165eb..c36a6cc 100644
--- a/HTTP/Server.hs
+++ b/HTTP/Server.hs
@@ -35,8 +35,7 @@ data ServerState = ServerState
}
newServerState :: Maybe LocalStorageDirectory -> ServerConfig -> IO ServerState
-newServerState d cfg = do
- l <- newLogger
+newServerState d cfg = withLogger $ \l ->
ServerState
<$> newEmptyTMVarIO
<*> pure d