summaryrefslogtreecommitdiffhomepage
path: root/HTTP/Logger.hs
diff options
context:
space:
mode:
authorJoey Hess <joeyh@joeyh.name>2016-09-13 17:36:30 -0400
committerJoey Hess <joeyh@joeyh.name>2016-09-13 17:41:00 -0400
commit86cb38c936da30910700c58353a5e716fa94e83c (patch)
tree61aca15d699c7b158fa943cadf9e13f032cd2855 /HTTP/Logger.hs
parent675c405aa53868cd1246857138f91ecb51d01985 (diff)
downloadkeysafe-86cb38c936da30910700c58353a5e716fa94e83c.tar.gz
use fast-logger for better logging
Diffstat (limited to 'HTTP/Logger.hs')
-rw-r--r--HTTP/Logger.hs25
1 files changed, 25 insertions, 0 deletions
diff --git a/HTTP/Logger.hs b/HTTP/Logger.hs
new file mode 100644
index 0000000..2758c37
--- /dev/null
+++ b/HTTP/Logger.hs
@@ -0,0 +1,25 @@
+{- Copyright 2016 Joey Hess <id@joeyh.name>
+ -
+ - Licensed under the GNU AGPL version 3 or higher.
+ -}
+
+module HTTP.Logger where
+
+import System.Log.FastLogger
+import Data.String
+
+data Logger = Logger LoggerSet LoggerSet
+
+newLogger :: IO Logger
+newLogger = Logger
+ <$> newStdoutLoggerSet defaultBufSize
+ <*> newStderrLoggerSet defaultBufSize
+
+logStdout :: Logger -> String -> IO ()
+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)