{-# LANGUAGE OverloadedStrings #-} module Log ( logInit , logController , logCheck , module Log.Types ) where import Control.Concurrent import Control.Monad import Log.Check import Log.File import Log.Stdout import Log.Types ---------------------------------------------------------------- logInit :: LogType -> IO Logger logInit LogNone = noLoggerInit logInit LogStdout = stdoutLoggerInit logInit (LogFile spec) = fileLoggerInit spec noLoggerInit :: IO Logger 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