mighttpd2-2.3.0: Log/Apache.hs
{-# LANGUAGE OverloadedStrings #-}
module Log.Apache where
import Data.ByteString (ByteString)
import Data.ByteString.Char8 ()
import Network.HTTP.Types
import Network.Wai
import Network.Wai.Application.Classic
import Log.Types
apacheFormat :: ByteString -> Request -> Status -> Maybe Integer -> [LogStr]
apacheFormat tmstr req st msize = [
LS addr
, LB " - - ["
, LB tmstr
, LB "] \""
, LB $ requestMethod req
, LB " "
, LB $ rawPathInfo req
, LB " "
, LS $ show . httpVersion $ req
, LB "\" "
, LS . show . statusCode $ st
, LB " "
, LS $ maybe "-" show msize
, LB " \""
, LB $ lookupRequestField' "referer" req
, LB "\" \""
, LB $ lookupRequestField' "user-agent" req
, LB "\"\n"
]
where
addr = showSockAddr (remoteHost req)