hslogger-reader 1.0.2 → 1.0.3
raw patch · 4 files changed
+17/−3 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- changelog.md +5/−0
- hslogger-reader.cabal +1/−1
- src-exe/filter-logs/Arguments.hs +7/−1
- src-exe/filter-logs/Main.hs +4/−1
changelog.md view
@@ -1,3 +1,8 @@+# 1.0.3 - 14-Aug-2017++* Add --print-unparsable option in `filter-logs` to print unparsable+ lines to stderr.+ # 1.0.2 - 24-Oct-2016 * Now skipping unparsable lines in `filter-logs` by default. Previous
hslogger-reader.cabal view
@@ -1,5 +1,5 @@ name: hslogger-reader-version: 1.0.2+version: 1.0.3 synopsis: Parsing hslogger-produced logs. description: hslogger-reader provides a function to generate a parser for
src-exe/filter-logs/Arguments.hs view
@@ -29,6 +29,7 @@ , tid :: Maybe Int , noContinue :: Bool , logFile :: FilePath+ , printUnparsable :: Bool } parseArgs :: Parser Arguments@@ -107,11 +108,16 @@ ) <*> ( strArgument $ metavar "FILE" )+ <*> ( switch $+ ( long "print-unparsable"+ <> help "Print unparsable lines to stderr."+ )+ ) opts = info (helper <*> parseArgs) ( header ("filter-logs version " <> showVersion version)- <> progDesc "Filter hslogger-produced log files. Unparsable lines will be skipped. This behaviour can be overridden with the --no-continue option."+ <> progDesc "Filter hslogger-produced log files. Unparsable lines are skipped by default." <> fullDesc <> footer "Limitations: logs must use hslogger's default time format `yyyy-mm-ddThh:mm:ssZ' and logger names must not include whitespace." )
src-exe/filter-logs/Main.hs view
@@ -26,6 +26,7 @@ import Control.Monad import Data.Typeable import Data.Monoid+import System.IO (stderr) main = do Arguments {..} <- execParser opts@@ -46,9 +47,11 @@ lts <- fmap L.lines . L.readFile $ logFile forM lts $ \lt -> do case maybeResult $ parse messageParser lt of- Nothing ->+ Nothing -> do when noContinue $ throwIO $ MessageParseError lt+ when printUnparsable $+ L.hPutStrLn stderr lt Just lm -> when (filterLogMessage lowerPrio upperPrio lowerTime upperTime pid tid regex'' lm) $ L.putStrLn lt