aboutsummaryrefslogtreecommitdiff
path: root/src/LogFormat.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/LogFormat.hs')
-rw-r--r--src/LogFormat.hs64
1 files changed, 35 insertions, 29 deletions
diff --git a/src/LogFormat.hs b/src/LogFormat.hs
index 9eb25f1..0f75079 100644
--- a/src/LogFormat.hs
+++ b/src/LogFormat.hs
@@ -1,40 +1,46 @@
{-# LANGUAGE OverloadedStrings #-}
-module LogFormat (
- logFormat
-) where
+module LogFormat
+ ( logFormat
+ ) where
+import qualified Data.ByteString.Char8 as BS
import Data.Maybe (fromMaybe)
import Data.Monoid ((<>))
import Network.HTTP.Types (Status(statusCode))
-import Network.Wai (Request, httpVersion, requestHeaders, requestMethod,
- rawPathInfo, requestHeaderReferer, requestHeaderUserAgent)
+import Network.Wai
+ ( Request
+ , httpVersion
+ , rawPathInfo
+ , requestHeaderReferer
+ , requestHeaderUserAgent
+ , requestHeaders
+ , requestMethod
+ )
import System.Log.FastLogger (LogStr, toLogStr)
-import qualified Data.ByteString.Char8 as BS
-- Sligthly modified Combined Log Format.
-- User ID extracted from the From header.
logFormat :: BS.ByteString -> Request -> Status -> Maybe Integer -> LogStr
-logFormat t req st msize = ""
- <> toLogStr (fromMaybe "-" $ lookup "X-Forwarded-For" headers)
- <> " - "
- <> toLogStr (fromMaybe "-" $ lookup "From" headers)
- <> " ["
- <> toLogStr t
- <> "] \""
- <> toLogStr (requestMethod req)
- <> " "
- <> toLogStr (rawPathInfo req)
- <> " "
- <> toLogStr (show $ httpVersion req)
- <> "\" "
- <> toLogStr (show $ statusCode st)
- <> " "
- <> toLogStr (maybe "-" show msize)
- <> " \""
- <> toLogStr (fromMaybe "" $ requestHeaderReferer req)
- <> "\" \""
- <> toLogStr (fromMaybe "" $ requestHeaderUserAgent req)
- <> "\"\n"
- where headers = requestHeaders req
-
+logFormat t req st msize =
+ "" <>
+ toLogStr (fromMaybe "-" $ lookup "X-Forwarded-For" headers) <>
+ " - " <>
+ toLogStr (fromMaybe "-" $ lookup "From" headers) <>
+ " [" <>
+ toLogStr t <>
+ "] \"" <>
+ toLogStr (requestMethod req) <>
+ " " <>
+ toLogStr (rawPathInfo req) <>
+ " " <>
+ toLogStr (show $ httpVersion req) <>
+ "\" " <>
+ toLogStr (show $ statusCode st) <>
+ " " <>
+ toLogStr (maybe "-" show msize) <>
+ " \"" <>
+ toLogStr (fromMaybe "" $ requestHeaderReferer req) <>
+ "\" \"" <> toLogStr (fromMaybe "" $ requestHeaderUserAgent req) <> "\"\n"
+ where
+ headers = requestHeaders req