log-warper 1.0.2 → 1.0.3
raw patch · 4 files changed
+20/−28 lines, 4 files
Files
- log-warper.cabal +1/−1
- src/System/Wlog/Formatter.hs +1/−1
- src/System/Wlog/Logger.hs +17/−25
- test/Test/Wlog/RollingSpec.hs +1/−1
log-warper.cabal view
@@ -1,5 +1,5 @@ name: log-warper-version: 1.0.2+version: 1.0.3 synopsis: Flexible, configurable, monadic and pretty logging homepage: https://github.com/serokell/log-warper license: MIT
src/System/Wlog/Formatter.hs view
@@ -103,7 +103,7 @@ replaceVarM (vars ++ predefinedVars) format where predefinedVars = [ ("msg", pure msg)- , ("prio", pure $ show prio)+ , ("prio", pure $ T.toUpper $ show prio) , ("loggername", pure $ T.pack loggername) , ("tid", show <$> myThreadId) #ifndef mingw32_HOST_OS
src/System/Wlog/Logger.hs view
@@ -138,32 +138,32 @@ -- Utility functions --------------------------------------------------------------------------- -{- | Log a message at 'DEBUG' priority -}-debugM :: String -- ^ Logger name+{- | Log a message at 'Debug' priority -}+debugM :: String -- ^ Logger name -> Text -- ^ Log message -> IO () debugM s = logM s Debug -{- | Log a message at 'INFO' priority -}-infoM :: String -- ^ Logger name- -> Text -- ^ Log message+{- | Log a message at 'Info' priority -}+infoM :: String -- ^ Logger name+ -> Text -- ^ Log message -> IO () infoM s = logM s Info -{- | Log a message at 'NOTICE' priority -}-noticeM :: String -- ^ Logger name- -> Text -- ^ Log message+{- | Log a message at 'Notice' priority -}+noticeM :: String -- ^ Logger name+ -> Text -- ^ Log message -> IO () noticeM s = logM s Notice -{- | Log a message at 'WARNING' priority -}-warningM :: String -- ^ Logger name- -> Text -- ^ Log message+{- | Log a message at 'Warning' priority -}+warningM :: String -- ^ Logger name+ -> Text -- ^ Log message -> IO () warningM s = logM s Warning {- | Log a message at 'ERROR' priority -}-errorM :: String -- ^ Logger name+errorM :: String -- ^ Logger name -> Text -- ^ Log message -> IO () errorM s = logM s Error@@ -208,23 +208,15 @@ -- | Handle a log request. handle :: Logger -> LogRecord -> (String -> Bool) -> IO () handle l lrecord@(sev, _) handlerFilter = do- lp <- getLoggerSeverity (name l)+ lp <- getLoggerSeverity nm if sev >= lp then do- ph <- parentHandlers (name l)- forM_ ph $ callHandler lrecord (name l)+ ph <- concatMap handlers <$> parentLoggers nm+ forM_ ph $ callHandler lrecord nm else return () where+ nm = name l parentLoggers :: String -> IO [Logger]- parentLoggers [] = return []- parentLoggers name =- let pname0 = (head . drop 1 . reverse . componentsOfName) name- pname = fromMaybe (error "Logger.handle.parentLoggers: pname head failed") pname0- in do parent <- getLogger pname- next <- parentLoggers pname- return (parent : next)- parentHandlers :: String -> IO [HandlerT]- parentHandlers name = do- parentLoggers name >>= (return . concatMap handlers)+ parentLoggers = mapM getLogger . componentsOfName -- Get the severity we should use. Find the first logger in the -- tree, starting here, with a set severity. If even root doesn't -- have one, assume "Debug".
test/Test/Wlog/RollingSpec.hs view
@@ -38,7 +38,7 @@ let expectedRollException rp = (== InvalidRotation ("Rotation parameters must be positive: " <> pretty rp)) let rollExceptionChecker rp- = rotationFileHandler rp "" (panic "Test roll!")+ = rotationFileHandler rp "" (error "Test roll!") `shouldThrow` expectedRollException rp