@@ -4,12 +4,22 @@
44-- https://github.com/yesodweb/wai/issues/192
55module Network.Wai.Middleware.RequestLogger.Internal
66 ( module Network.Wai.Middleware.RequestLogger.Internal
7− , toByteString
7+ , logToByteString
88 ) where
99
1010import Data.ByteString (ByteString)
1111import Network.Wai.Logger (clockDateCacher)
1212
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+
1323#if MIN_VERSION_bytestring(0, 10, 2)
1424import Data.ByteString.Builder (toLazyByteString, Builder)
1525import qualified Data.ByteString.Lazy as L
@@ -21,5 +31,10 @@ toByteString = L.toStrict . toLazyByteString
2131import Blaze.ByteString.Builder (toByteString)
2232#endif
2333
34+logToByteString :: LogStr -> ByteString
35+logToByteString = toByteString . logStrBuilder
36+
37+#endif
38+
2439getDateGetter :: IO (IO ByteString)
2540getDateGetter = fmap fst clockDateCacher