diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2022-11-09 12:06:08 +0200 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2022-11-09 12:06:11 +0200 |
commit | f300bd76c645bebf457f0b798b617fd07ae5cf80 (patch) | |
tree | 8d381ed4cef1f78a18fc5be4634b65a106e8e276 /src/LogFormat.hs | |
parent | b72f27d6a67d54e870e7ab00a15fe6d877a3bd0e (diff) | |
download | juandelacosa-f300bd76c645bebf457f0b798b617fd07ae5cf80.tar.gz |
Diffstat (limited to 'src/LogFormat.hs')
-rw-r--r-- | src/LogFormat.hs | 64 |
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 |