packages feed

wai-logger-0.0.2: Network/Wai/Logger/Prefork/Stdout.hs

module Network.Wai.Logger.Prefork.Stdout (stdoutLoggerInit) where

import Control.Applicative
import Data.ByteString.Char8 (pack)
import Network.Wai.Logger.Date
import Network.Wai.Logger.Format
import Network.Wai.Logger.IO
import Network.Wai.Logger.Prefork.Types
import qualified Data.ByteString as BS

stdoutLoggerInit :: IPAddrSource -> IO ApacheLogger
stdoutLoggerInit ipsrc = stdoutLogger ipsrc <$> dateInit

stdoutLogger :: IPAddrSource -> DateRef -> ApacheLogger
stdoutLogger ipsrc dateref req status msiz = do
    date <- getDate dateref
    putToStdout $ logmsg date
  where
    putToStdout = BS.putStr . BS.concat . map toBS
    logmsg date = apacheFormat ipsrc date req status msiz
    toBS (LS s) = pack s
    toBS (LB s) = s