module Network.MQTT.Logger where
import System.IO
data Logger
= Logger
{ logInfo :: String -> IO ()
, logWarning :: String -> IO ()
, logError :: String -> IO ()
}
stdLogger :: Logger
stdLogger = Logger
putStrLn
(\msg -> hPutStrLn stderr $ "[Warning] " ++ msg)
(\msg -> hPutStrLn stderr $ "[Error] " ++ msg)
warnings :: Logger -> Logger
warnings l = l { logInfo = ignore }
errors :: Logger -> Logger
errors l = l { logInfo = ignore, logWarning = ignore }
ignore :: String -> IO ()
ignore _ = return ()