@@ -1,5 +1,6 @@
1{-# LANGUAGE OverloadedStrings #-}
1{-# LANGUAGE OverloadedStrings #-}
2{-# LANGUAGE RecordWildCards #-}
2{-# LANGUAGE RecordWildCards #-}
3module Network.Wai.Middleware.RequestLogger
4module Network.Wai.Middleware.RequestLogger
4 ( -- * Basic stdout logging
5 ( -- * Basic stdout logging
@@ -37,7 +38,11 @@ import System.IO.Unsafe
38import Data.Default (Default (def))
39import Data.Default (Default (def))
39import Network.Wai.Logger.Format (apacheFormat, IPAddrSource (..))
40import Network.Wai.Logger.Format (apacheFormat, IPAddrSource (..))
41+#if MIN_VERSION_fast_logger(0,3,0)
40import System.Date.Cache (ondemandDateCacher)
42import System.Date.Cache (ondemandDateCacher)
44+import System.Log.FastLogger.Date (getDate, dateInit, ZonedDate)
42data OutputFormat = Apache IPAddrSource
47data OutputFormat = Apache IPAddrSource
43 | Detailed Bool -- ^ use colors?
48 | Detailed Bool -- ^ use colors?
@@ -79,9 +84,13 @@ mkRequestLogger RequestLoggerSettings{..} = do
79 getdate <-
84 getdate <-
80 case mgetdate of
85 case mgetdate of
81 Just x -> return x
86 Just x -> return x
87+#if MIN_VERSION_fast_logger(0, 3, 0)
82 Nothing -> do
88 Nothing -> do
83 (getter,_) <- ondemandDateCacher zonedDateCacheConf
89 (getter,_) <- ondemandDateCacher zonedDateCacheConf
84 return getter
90 return getter
92+ Nothing -> fmap getDate dateInit
85 return $ apacheMiddleware callback ipsrc getdate
94 return $ apacheMiddleware callback ipsrc getdate
86 Detailed useColors -> detailedMiddleware callback useColors
95 Detailed useColors -> detailedMiddleware callback useColors