wai-logger-0.0.2: A logging system for WAI

Network.Wai.Logger

Contents

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

 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 date req status (Just len)
     liftIO $ hFlush stdout
     return $ ResponseBuilder status
                              [("Content-Type", "text/plain")
                              ,("Content-Length", pack (show len))]
            $ fromByteString "PONG"

Synopsis

Low level modules

High level modules