From 08aa9d495cb486c45998dfad95518c646b5fa8cc Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 17 Dec 2013 16:24:31 +0000 Subject: [PATCH] remove TH --- Control/Monad/Logger.hs | 109 ++++++++++-------------------------------------- 1 file changed, 21 insertions(+), 88 deletions(-) diff --git a/Control/Monad/Logger.hs b/Control/Monad/Logger.hs index be756d7..d4979f8 100644 --- a/Control/Monad/Logger.hs +++ b/Control/Monad/Logger.hs @@ -31,31 +31,31 @@ module Control.Monad.Logger , withChannelLogger , NoLoggingT (..) -- * TH logging - , logDebug - , logInfo - , logWarn - , logError - , logOther + --, logDebug + --, logInfo + --, logWarn + --, logError + --, logOther -- * TH logging with source - , logDebugS - , logInfoS - , logWarnS - , logErrorS - , logOtherS + --, logDebugS + --, logInfoS + --, logWarnS + --, logErrorS + --, logOtherS -- * TH util - , liftLoc + -- , liftLoc -- * Non-TH logging - , logDebugN - , logInfoN - , logWarnN - , logErrorN - , logOtherN + --, logDebugN + --, logInfoN + --, logWarnN + --, logErrorN + --, logOtherN -- * Non-TH logging with source - , logDebugNS - , logInfoNS - , logWarnNS - , logErrorNS - , logOtherNS + --, logDebugNS + --, logInfoNS + --, logWarnNS + --, logErrorNS + --, logOtherNS ) where import Language.Haskell.TH.Syntax (Lift (lift), Q, Exp, Loc (..), qLocation) @@ -115,13 +115,6 @@ import Control.Monad.Writer.Class ( MonadWriter (..) ) data LogLevel = LevelDebug | LevelInfo | LevelWarn | LevelError | LevelOther Text deriving (Eq, Prelude.Show, Prelude.Read, Ord) -instance Lift LogLevel where - lift LevelDebug = [|LevelDebug|] - lift LevelInfo = [|LevelInfo|] - lift LevelWarn = [|LevelWarn|] - lift LevelError = [|LevelError|] - lift (LevelOther x) = [|LevelOther $ pack $(lift $ unpack x)|] - type LogSource = Text class Monad m => MonadLogger m where @@ -152,66 +145,6 @@ instance (MonadLogger m, Monoid w) => MonadLogger (Strict.WriterT w m) where DEF instance (MonadLogger m, Monoid w) => MonadLogger (Strict.RWST r w s m) where DEF #undef DEF -logTH :: LogLevel -> Q Exp -logTH level = - [|monadLoggerLog $(qLocation >>= liftLoc) (pack "") $(lift level) . (id :: Text -> Text)|] - --- | Generates a function that takes a 'Text' and logs a 'LevelDebug' message. Usage: --- --- > $(logDebug) "This is a debug log message" -logDebug :: Q Exp -logDebug = logTH LevelDebug - --- | See 'logDebug' -logInfo :: Q Exp -logInfo = logTH LevelInfo --- | See 'logDebug' -logWarn :: Q Exp -logWarn = logTH LevelWarn --- | See 'logDebug' -logError :: Q Exp -logError = logTH LevelError - --- | Generates a function that takes a 'Text' and logs a 'LevelOther' message. Usage: --- --- > $(logOther "My new level") "This is a log message" -logOther :: Text -> Q Exp -logOther = logTH . LevelOther - --- | Lift a location into an Exp. --- --- Since 0.3.1 -liftLoc :: Loc -> Q Exp -liftLoc (Loc a b c (d1, d2) (e1, e2)) = [|Loc - $(lift a) - $(lift b) - $(lift c) - ($(lift d1), $(lift d2)) - ($(lift e1), $(lift e2)) - |] - --- | Generates a function that takes a 'LogSource' and 'Text' and logs a 'LevelDebug' message. Usage: --- --- > $logDebugS "SomeSource" "This is a debug log message" -logDebugS :: Q Exp -logDebugS = [|\a b -> monadLoggerLog $(qLocation >>= liftLoc) a LevelDebug (b :: Text)|] - --- | See 'logDebugS' -logInfoS :: Q Exp -logInfoS = [|\a b -> monadLoggerLog $(qLocation >>= liftLoc) a LevelInfo (b :: Text)|] --- | See 'logDebugS' -logWarnS :: Q Exp -logWarnS = [|\a b -> monadLoggerLog $(qLocation >>= liftLoc) a LevelWarn (b :: Text)|] --- | See 'logDebugS' -logErrorS :: Q Exp -logErrorS = [|\a b -> monadLoggerLog $(qLocation >>= liftLoc) a LevelError (b :: Text)|] - --- | Generates a function that takes a 'LogSource', a level name and a 'Text' and logs a 'LevelOther' message. Usage: --- --- > $logOtherS "SomeSource" "My new level" "This is a log message" -logOtherS :: Q Exp -logOtherS = [|\src level msg -> monadLoggerLog $(qLocation >>= liftLoc) src (LevelOther level) (msg :: Text)|] - -- | Monad transformer that disables logging. -- -- Since 0.2.4 -- 1.8.5.1