heavy-logger-0.1.0.0: src/System/Log/Heavy/Shortcuts.hs
{-# LANGUAGE OverloadedStrings, TypeSynonymInstances, FlexibleInstances, ExistentialQuantification, TypeFamilies, GeneralizedNewtypeDeriving, StandaloneDeriving, MultiParamTypeClasses, UndecidableInstances #-}
-- | This module contains some shortcut functions that can be of use in simple usage cases.
module System.Log.Heavy.Shortcuts
(
-- * Log a message
reportError, warning, info, debug,
-- * Creating a message
errorMessage, warnMessage, infoMessage, debugMessage
) where
import Control.Monad.Trans
import Control.Monad.Logger (LogLevel (..))
import qualified Data.Text.Lazy as TL
import qualified Data.Text.Format.Heavy as F
import System.Log.Heavy.Types
import System.Log.Heavy.Backends
-- | Message stub with Info severity.
infoMessage :: F.VarContainer vars => TL.Text -> vars -> LogMessage
infoMessage fmt vars = LogMessage LevelInfo [] undefined fmt vars
-- | Message stub with Debug severity.
debugMessage :: F.VarContainer vars => TL.Text -> vars -> LogMessage
debugMessage fmt vars = LogMessage LevelDebug [] undefined fmt vars
-- | Message stub with Error severity.
errorMessage :: F.VarContainer vars => TL.Text -> vars -> LogMessage
errorMessage fmt vars = LogMessage LevelError [] undefined fmt vars
-- | Message stub with Warning severity.
warnMessage :: F.VarContainer vars => TL.Text -> vars -> LogMessage
warnMessage fmt vars = LogMessage LevelWarn [] undefined fmt vars
-- | Log debug message.
-- Note: this message will not contain source information.
debug :: (F.VarContainer vars, MonadIO m) => TL.Text -> vars -> LoggingT m ()
debug fmt vars = logMessage $ debugMessage fmt vars
-- | Log info message.
-- Note: this message will not contain source information.
info :: (F.VarContainer vars, MonadIO m) => TL.Text -> vars -> LoggingT m ()
info fmt vars = logMessage $ infoMessage fmt vars
-- | Log error message.
-- Note: this message will not contain source information.
reportError :: (F.VarContainer vars, MonadIO m) => TL.Text -> vars -> LoggingT m ()
reportError fmt vars = logMessage $ errorMessage fmt vars
-- | Log warning message.
-- Note: this message will not contain source information.
warning :: (F.VarContainer vars, MonadIO m) => TL.Text -> vars -> LoggingT m ()
warning fmt vars = logMessage $ warnMessage fmt vars