quic-0.0.0: Network/QUIC/QLogger.hs
{-# LANGUAGE OverloadedStrings #-}
module Network.QUIC.QLogger (
QLogger
, dirQLogger
) where
import System.FilePath
import System.Log.FastLogger
import Network.QUIC.Imports
import Network.QUIC.Qlog
import Network.QUIC.Types
dirQLogger :: Maybe FilePath -> TimeMicrosecond -> CID -> ByteString -> IO (QLogger, IO ())
dirQLogger Nothing _ _ _ = do
let qLog ~_ = return ()
clean = return ()
return (qLog, clean)
dirQLogger (Just dir) tim cid rl = do
let file = dir </> (show cid <> ".qlog")
(fastlogger, clean) <- newFastLogger1 $ LogFileNoRotate file 4096
qlogger <- newQlogger tim rl cid fastlogger
return (qlogger, clean)