on master help sign in
fast-logger 2.1 support
19bd886Michael Snoyman
wai-extra/Network/Wai/Middleware/RequestLogger.hs+1−1
@@ -81,7 +81,7 @@ mkRequestLogger :: RequestLoggerSettings -> IO Middleware
81mkRequestLogger RequestLoggerSettings{..} = do
81mkRequestLogger RequestLoggerSettings{..} = do
82 callback <-
82 callback <-
83 case destination of
83 case destination of
84− Handle h -> return $ BS.hPutStr h . toByteString . logStrBuilder
84+ Handle h -> return $ BS.hPutStr h . logToByteString
85 Logger l -> return $ pushLogStr l
85 Logger l -> return $ pushLogStr l
86 Callback c -> return c
86 Callback c -> return c
87 case outputFormat of
87 case outputFormat of
wai-extra/Network/Wai/Middleware/RequestLogger/Internal.hs+16−1
@@ -4,12 +4,22 @@
4-- https://github.com/yesodweb/wai/issues/192
4-- https://github.com/yesodweb/wai/issues/192
5module Network.Wai.Middleware.RequestLogger.Internal
5module Network.Wai.Middleware.RequestLogger.Internal
6 ( module Network.Wai.Middleware.RequestLogger.Internal
6 ( module Network.Wai.Middleware.RequestLogger.Internal
7− , toByteString
7+ , logToByteString
8 ) where
8 ) where
9
9
10import Data.ByteString (ByteString)
10import Data.ByteString (ByteString)
11import Network.Wai.Logger (clockDateCacher)
11import Network.Wai.Logger (clockDateCacher)
12
12
13+#if MIN_VERSION_fast_logger(2, 1, 0)
14+import System.Log.FastLogger (LogStr, fromLogStr)
15+
16+logToByteString :: LogStr -> ByteString
17+logToByteString = fromLogStr
18+
19+#else
20+
21+import System.Log.FastLogger (LogStr, logStrBuilder)
22+
13#if MIN_VERSION_bytestring(0, 10, 2)
23#if MIN_VERSION_bytestring(0, 10, 2)
14import Data.ByteString.Builder (toLazyByteString, Builder)
24import Data.ByteString.Builder (toLazyByteString, Builder)
15import qualified Data.ByteString.Lazy as L
25import qualified Data.ByteString.Lazy as L
@@ -21,5 +31,10 @@ toByteString = L.toStrict . toLazyByteString
21import Blaze.ByteString.Builder (toByteString)
31import Blaze.ByteString.Builder (toByteString)
22#endif
32#endif
23
33
34+logToByteString :: LogStr -> ByteString
35+logToByteString = toByteString . logStrBuilder
36+
37+#endif
38+
24getDateGetter :: IO (IO ByteString)
39getDateGetter :: IO (IO ByteString)
25getDateGetter = fmap fst clockDateCacher
40getDateGetter = fmap fst clockDateCacher
wai-extra/test/WaiExtraTest.hs+1−1
@@ -557,7 +557,7 @@ caseDebugRequestBody = do
557 where
557 where
558 output = TE.encodeUtf8 $ T.toStrict output'
558 output = TE.encodeUtf8 $ T.toStrict output'
559
559
560− logToBs = toByteString . logStrBuilder
560+ logToBs = fromLogStr
561
561
562 {-debugApp = debug $ \req -> do-}
562 {-debugApp = debug $ \req -> do-}
563 {-return $ responseLBS status200 [ ] ""-}
563 {-return $ responseLBS status200 [ ] ""-}
wai-extra/wai-extra.cabal+4−4
@@ -1,5 +1,5 @@
1Name: wai-extra
1Name: wai-extra
2−Version: 2.0.1.1
2+Version: 2.0.1.2
3Synopsis: Provides some basic WAI handlers and middleware.
3Synopsis: Provides some basic WAI handlers and middleware.
4Description: The goal here is to provide common features without many dependencies.
4Description: The goal here is to provide common features without many dependencies.
5License: MIT
5License: MIT
@@ -33,8 +33,8 @@ Library
33 , text >= 0.7
33 , text >= 0.7
34 , case-insensitive >= 0.2
34 , case-insensitive >= 0.2
35 , data-default
35 , data-default
36− , fast-logger >= 2.0 && < 2.1
36+ , fast-logger >= 2.0 && < 2.2
37− , wai-logger >= 2.0 && < 2.1
37+ , wai-logger >= 2.0 && < 2.2
38 , conduit >= 1.0 && < 1.1
38 , conduit >= 1.0 && < 1.1
39 , zlib-conduit >= 0.5 && < 1.1
39 , zlib-conduit >= 0.5 && < 1.1
40 , blaze-builder-conduit >= 0.5 && < 1.1
40 , blaze-builder-conduit >= 0.5 && < 1.1
@@ -86,7 +86,7 @@ test-suite tests
86 , blaze-builder >= 0.2.1.4 && < 0.4
86 , blaze-builder >= 0.2.1.4 && < 0.4
87 , data-default
87 , data-default
88 , conduit
88 , conduit
89− , fast-logger
89+ , fast-logger >= 2.1
90 , resourcet
90 , resourcet
91 ghc-options: -Wall
91 ghc-options: -Wall
92
92