-- This Source Code Form is subject to the terms of the Mozilla Public -- License, v. 2.0. If a copy of the MPL was not distributed with this -- file, You can obtain one at http://mozilla.org/MPL/2.0/. {-# LANGUAGE FlexibleContexts #-} -- | The 'MonadLogger' type-class and associated functions. module System.Logger.Class ( L.Settings , L.defSettings , L.logLevel , L.setLogLevel , L.output , L.setOutput , L.format , L.setFormat , L.delimiter , L.setDelimiter , L.netstrings , L.setNetStrings , L.bufSize , L.setBufSize , L.name , L.setName , L.Level (..) , L.Output (..) , L.DateFormat , L.iso8601UTC , L.Logger , L.new , L.create , L.level , L.flush , L.close , L.clone , L.settings , MonadLogger (..) , trace , debug , info , warn , err , fatal , module M ) where import System.Logger (Level (..)) import System.Logger.Message as M import qualified System.Logger as L class Monad m => MonadLogger m where log :: Level -> (Msg -> Msg) -> m () -- | Abbreviation for 'log' using the corresponding log level. trace, debug, info, warn, err, fatal :: MonadLogger m => (Msg -> Msg) -> m () trace = System.Logger.Class.log Trace debug = System.Logger.Class.log Debug info = System.Logger.Class.log Info warn = System.Logger.Class.log Warn err = System.Logger.Class.log Error fatal = System.Logger.Class.log Fatal