packages feed

wai-logger 0.1.2 → 0.1.3

raw patch · 4 files changed

+58/−7 lines, 4 filesdep ~fast-loggerdep ~wai

Dependency ranges changed: fast-logger, wai

Files

Network/Wai/Logger.hs view
@@ -2,7 +2,7 @@  -- | Logging system for WAI applications. ----- Sample code:+-- High level sample code: -- -- > {-# LANGUAGE OverloadedStrings #-} -- > module Main where@@ -15,6 +15,36 @@ -- > import Network.Wai.Handler.Warp -- > import Network.Wai.Logger -- > import System.IO+-- >+-- > main :: IO ()+-- > main = do+-- >     logger <- stdoutApacheLoggerInit FromSocket+-- >     run 3000 $ logapp logger+-- >+-- > logapp :: ApacheLogger -> Application+-- > logapp logger req = do+-- >     let status = status200+-- >         len = 4+-- >     liftIO $ logger req status (Just len)+-- >     liftIO $ hFlush stdout+-- >     return $ ResponseBuilder status+-- >         [("Content-Type", "text/plain")+-- >         ,("Content-Length", pack (show len))]+-- >         $ fromByteString "PONG"+--+-- Low level 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 ()@@ -35,12 +65,32 @@ -- >         $ fromByteString "PONG"  module Network.Wai.Logger (-    module Network.Wai.Logger.Format+    ApacheLogger+  , stdoutApacheLoggerInit+  , module Network.Wai.Logger.Format   , module Network.Wai.Logger.Date   , module Network.Wai.Logger.Utils   ) where +import Control.Applicative+import Network.HTTP.Types+import Network.Wai import Network.Wai.Logger.Date import Network.Wai.Logger.Format import Network.Wai.Logger.Utils+import System.IO+import System.Log.FastLogger++-- | Apache style logger for WAI+type ApacheLogger = Request -> Status -> Maybe Integer -> IO ()++-- | Obtaining Apache style logger to stdout+stdoutApacheLoggerInit :: IPAddrSource -> IO ApacheLogger+stdoutApacheLoggerInit ipsrc = stdoutLogger ipsrc <$> dateInit++stdoutLogger :: IPAddrSource -> DateRef -> ApacheLogger+stdoutLogger ipsrc dateref req status msiz =+    getDate dateref >>= hPutLogStr stdout . logmsg+  where+    logmsg date = apacheFormat ipsrc date req status msiz 
Network/Wai/Logger/Date.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DoAndIfThenElse, BangPatterns #-} {-# LANGUAGE CPP #-}  module Network.Wai.Logger.Date (@@ -43,7 +42,7 @@     let oldEt = unixTime cache     if oldEt == newEt then         return $ zonedDate cache-    else do+      else do         newCache <- newDate newEt         writeIORef ref newCache         return $ zonedDate newCache
Network/Wai/Logger/Utils.hs view
@@ -51,4 +51,3 @@ showSockAddr (SockAddrInet6 _ _ (0,0,0,1) _)              = "::1" showSockAddr (SockAddrInet6 _ _ addr6 _)                  = showIPv6 addr6 showSockAddr _                                            = "unknownSocket"-
wai-logger.cabal view
@@ -1,5 +1,5 @@ Name:                   wai-logger-Version:                0.1.2+Version:                0.1.3 Author:                 Kazu Yamamoto <kazu@iij.ad.jp> Maintainer:             Kazu Yamamoto <kazu@iij.ad.jp> License:                BSD3@@ -10,7 +10,10 @@ Cabal-Version:          >= 1.6 Build-Type:             Simple library-  GHC-Options:          -Wall -fno-warn-unused-do-bind+  if impl(ghc >= 6.12)+    GHC-Options:        -Wall -fno-warn-unused-do-bind+  else+    GHC-Options:        -Wall   Exposed-Modules:      Network.Wai.Logger                         Network.Wai.Logger.Date                         Network.Wai.Logger.Format