| Safe Haskell | Safe-Infered |
|---|
Network.Wai.Logger
Description
Logging system for WAI applications.
Sample code:
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Blaze.ByteString.Builder (fromByteString)
import Control.Monad.IO.Class (liftIO)
import Data.ByteString.Char8
import Network.HTTP.Types (status200)
import Network.Wai
import Network.Wai.Handler.Warp
import Network.Wai.Logger
import System.IO
import System.Log.FastLogger
main :: IO ()
main = do
dref <- dateInit
run 3000 $ logapp dref
logapp :: DateRef -> Application
logapp dref req = do
date <- liftIO $ getDate dref
let status = status200
len = 4
liftIO $ hPutLogStr stdout $ apacheFormat FromSocket date req status (Just len)
liftIO $ hFlush stdout
return $ ResponseBuilder status
[("Content-Type", "text/plain")
,("Content-Length", pack (show len))]
$ fromByteString "PONG"
Documentation
module Network.Wai.Logger.Format
module Network.Wai.Logger.Date
module Network.Wai.Logger.Utils