wai-logger-0.0.2: Network/Wai/Logger/Prefork.hs
module Network.Wai.Logger.Prefork (
logCheck
, logInit
, logController
, ApacheLogger
, LogType(..)
, IPAddrSource(..)
, FileLogSpec(..)
, LogController
) where
import Control.Concurrent
import Control.Monad
import Network.Wai.Logger.File
import Network.Wai.Logger.Format
import Network.Wai.Logger.Prefork.File
import Network.Wai.Logger.Prefork.Stdout
import Network.Wai.Logger.Prefork.Types
logCheck :: LogType -> IO ()
logCheck LogNone = return ()
logCheck LogStdout = return ()
logCheck (LogFile spec) = check spec
logInit :: IPAddrSource -> LogType -> IO ApacheLogger
logInit _ LogNone = noLoggerInit
logInit ipsrc LogStdout = stdoutLoggerInit ipsrc
logInit ipsrc (LogFile spec) = fileLoggerInit ipsrc spec
noLoggerInit :: IO ApacheLogger
noLoggerInit = return noLogger
where
noLogger _ _ _ = return ()
logController :: LogType -> LogController
logController LogNone = noLoggerController
logController LogStdout = noLoggerController
logController (LogFile spec) = fileLoggerController spec
noLoggerController :: LogController
noLoggerController _ = forever $ threadDelay 10000000