{-# LANGUAGE FlexibleContexts #-}
module Di.Df1.Monad
(
push
, attr
, debug
, info
, notice
, warning
, error
, alert
, critical
, emergency
) where
import Prelude hiding (error)
import qualified Df1
import qualified Di.Monad as Di (MonadDi, log, push)
push
:: Di.MonadDi level Df1.Path msg m
=> Df1.Segment -> m a -> m a
push s = Di.push (Df1.Push s)
{-# INLINE push #-}
attr
:: Di.MonadDi level Df1.Path msg m
=> Df1.Key -> Df1.Value -> m a -> m a
attr k v = Di.push (Df1.Attr k v)
{-# INLINE attr #-}
emergency :: Di.MonadDi Df1.Level path Df1.Message m => Df1.Message -> m ()
emergency = Di.log Df1.Emergency
{-# INLINE emergency #-}
alert :: Di.MonadDi Df1.Level path Df1.Message m => Df1.Message -> m ()
alert = Di.log Df1.Alert
{-# INLINE alert #-}
critical :: Di.MonadDi Df1.Level path Df1.Message m => Df1.Message -> m ()
critical = Di.log Df1.Critical
{-# INLINE critical #-}
error :: Di.MonadDi Df1.Level path Df1.Message m => Df1.Message -> m ()
error = Di.log Df1.Error
{-# INLINE error #-}
warning :: Di.MonadDi Df1.Level path Df1.Message m => Df1.Message -> m ()
warning = Di.log Df1.Warning
{-# INLINE warning #-}
notice :: Di.MonadDi Df1.Level path Df1.Message m => Df1.Message -> m ()
notice = Di.log Df1.Notice
{-# INLINE notice #-}
info :: Di.MonadDi Df1.Level path Df1.Message m => Df1.Message -> m ()
info = Di.log Df1.Info
{-# INLINE info #-}
debug :: Di.MonadDi Df1.Level path Df1.Message m => Df1.Message -> m ()
debug = Di.log Df1.Debug
{-# INLINE debug #-}