module Logger where import ClassyPrelude import Network.Socket (HostName, PortNumber) import qualified System.Log.Logger as LOG data Verbosity = QUIET | VERBOSE | NORMAL init :: Verbosity -> IO () init lvl = LOG.updateGlobalLogger "wstunnel" $ case lvl of QUIET -> LOG.setLevel LOG.ERROR VERBOSE -> LOG.setLevel LOG.DEBUG NORMAL -> LOG.setLevel LOG.INFO toStr :: (HostName, PortNumber) -> String toStr (host, port) = fromString host <> ":" <> show port err :: String -> IO() err msg = LOG.errorM "wstunnel" $ "ERROR :: " <> msg info :: String -> IO() info = LOG.infoM "wstunnel" debug :: String -> IO() debug msg = LOG.debugM "wstunnel" $ "DEBUG :: " <> msg