packages feed

simple-logger 0.0.3 → 0.0.4

raw patch · 3 files changed

+42/−7 lines, 3 files

Files

package.yaml view
@@ -1,5 +1,5 @@ name: simple-logger-version: 0.0.3+version: 0.0.4 synopsis: A very simple but efficient logging framework description: A very simple but efficient logging framework category: Logging
simple-logger.cabal view
@@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack  name:           simple-logger-version:        0.0.3+version:        0.0.4 synopsis:       A very simple but efficient logging framework description:    A very simple but efficient logging framework category:       Logging
src/Control/Logger/Simple.hs view
@@ -6,6 +6,7 @@     , setLogLevel, LogLevel(..)     , logTrace, logDebug, logInfo, logNote, logWarn, logError     , logFail+    , pureTrace, pureDebug, pureInfo, pureNote, pureWarn, pureError     , showText, (<>)     ) where@@ -27,15 +28,15 @@  data Loggers     = Loggers-    { l_file :: Maybe (FastLogger, IO ())-    , l_stderr :: Maybe (FastLogger, IO ())-    , l_timeCache :: IO FormattedTime+    { l_file :: !(Maybe (FastLogger, IO ()))+    , l_stderr :: !(Maybe (FastLogger, IO ()))+    , l_timeCache :: !(IO FormattedTime)     }  data LogConfig     = LogConfig-    { lc_file :: Maybe FilePath-    , lc_stderr :: Bool+    { lc_file :: !(Maybe FilePath)+    , lc_stderr :: !Bool     }  data LogLevel@@ -50,21 +51,27 @@ showText :: Show a => a -> T.Text showText = T.pack . show +-- | Log with 'LogTrace' log level logTrace :: (?callStack :: GHC.CallStack) => MonadIO m => T.Text -> m () logTrace = doLog LogTrace ?callStack +-- | Log with 'LogDebug' log level logDebug :: (?callStack :: GHC.CallStack) => MonadIO m => T.Text -> m () logDebug = doLog LogDebug ?callStack +-- | Log with 'LogInfo' log level logInfo :: (?callStack :: GHC.CallStack) => MonadIO m => T.Text -> m () logInfo = doLog LogInfo ?callStack +-- | Log with 'LogNote' log level logNote :: (?callStack :: GHC.CallStack) => MonadIO m => T.Text -> m () logNote = doLog LogNote ?callStack +-- | Log with 'LogWarn' log level logWarn :: (?callStack :: GHC.CallStack) => MonadIO m => T.Text -> m () logWarn = doLog LogWarn ?callStack +-- | Log with 'LogError' log level logError :: (?callStack :: GHC.CallStack) => MonadIO m => T.Text -> m () logError = doLog LogError ?callStack @@ -73,6 +80,34 @@ logFail t =     do doLog LogError ?callStack t        fail (T.unpack t)++-- | Log with 'LogTrace' level when the given expression is evaluated+pureTrace :: (?callStack :: GHC.CallStack) => T.Text -> a -> a+pureTrace = doPureLog LogTrace ?callStack++-- | Log with 'LogDebug' level when the given expression is evaluated+pureDebug :: (?callStack :: GHC.CallStack) => T.Text -> a -> a+pureDebug = doPureLog LogDebug ?callStack++-- | Log with 'LogInfo' level when the given expression is evaluated+pureInfo :: (?callStack :: GHC.CallStack) => T.Text -> a -> a+pureInfo = doPureLog LogInfo ?callStack++-- | Log with 'LogNote' level when the given expression is evaluated+pureNote :: (?callStack :: GHC.CallStack) => T.Text -> a -> a+pureNote = doPureLog LogNote ?callStack++-- | Log with 'LogWarn' level when the given expression is evaluated+pureWarn :: (?callStack :: GHC.CallStack) => T.Text -> a -> a+pureWarn = doPureLog LogWarn ?callStack++-- | Log with 'LogError' level when the given expression is evaluated+pureError :: (?callStack :: GHC.CallStack) => T.Text -> a -> a+pureError = doPureLog LogError ?callStack++doPureLog ::LogLevel -> GHC.CallStack -> T.Text -> a -> a+doPureLog ll cs txt expr =+    unsafePerformIO (doLog ll cs txt) `seq` expr  doLog :: MonadIO m => LogLevel -> GHC.CallStack -> T.Text -> m () doLog ll cs txt =