1-- | Log functions using CallStack support in place of Template Haskell 2-- 3-- @since 0.3.19 4module Control.Monad.Logger.CallStack ( 5 module Log 6 , logDebug 7 , logInfo 8 , logWarn 9 , logError 10 , logOther 11 , logDebugSH 12 , logInfoSH 13 , logWarnSH 14 , logErrorSH 15 , logOtherSH 16 ) where 17 18import Control.Monad.Logger as Log hiding (logDebug, logDebugSH, 19 logError, logErrorSH, logInfo, 20 logInfoSH, logOther, logOtherSH, 21 logWarn, logWarnSH) 22import Data.Text (Text) 23import qualified Data.Text as Text 24import GHC.Stack 25 26-- | Logs a message with the location provided by 27-- an implicit 'CallStack'. 28-- 29-- @since 0.3.19 30logDebug :: (HasCallStack, Log.MonadLogger m) => Text -> m () 31logDebug = Log.logDebugCS callStack 32 33-- | See 'logDebug' 34-- 35-- @since 0.3.19 36logInfo :: (HasCallStack, Log.MonadLogger m) => Text -> m () 37logInfo = Log.logInfoCS callStack 38 39-- | See 'logDebug' 40-- 41-- @since 0.3.19 42logWarn :: (HasCallStack, Log.MonadLogger m) => Text -> m () 43logWarn = Log.logWarnCS callStack 44 45-- | See 'logDebug' 46-- 47-- @since 0.3.19 48logError :: (HasCallStack, Log.MonadLogger m) => Text -> m () 49logError = Log.logErrorCS callStack 50 51-- | See 'logDebug' 52-- 53-- @since 0.3.25 54logOther :: (HasCallStack, Log.MonadLogger m) => Log.LogLevel -> Text -> m () 55logOther = Log.logOtherCS callStack 56 57-- | Logs a showable value with the location provided by 58-- an implicit 'CallStack'. 59-- 60-- @since 0.3.25 61logDebugSH :: (HasCallStack, Log.MonadLogger m, Show a) => a -> m () 62logDebugSH = Log.logDebugCS callStack . Text.pack . show 63 64-- | See 'logDebugSH' 65-- 66-- @since 0.3.25 67logInfoSH :: (HasCallStack, Log.MonadLogger m, Show a) => a -> m () 68logInfoSH = Log.logInfoCS callStack . Text.pack . show 69 70-- | See 'logDebugSH' 71-- 72-- @since 0.3.25 73logWarnSH :: (HasCallStack, Log.MonadLogger m, Show a) => a -> m () 74logWarnSH = Log.logWarnCS callStack . Text.pack . show 75 76-- | See 'logDebugSH' 77-- 78-- @since 0.3.25 79logErrorSH :: (HasCallStack, Log.MonadLogger m, Show a) => a -> m () 80logErrorSH = Log.logErrorCS callStack . Text.pack . show 81 82-- | See 'logDebugSH' 83-- 84-- @since 0.3.25 85logOtherSH :: (HasCallStack, Log.MonadLogger m, Show a) => Log.LogLevel -> a -> m () 86logOtherSH lvl = Log.logOtherCS callStack lvl . Text.pack . show 87