-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Parsing hslogger-produced logs. -- -- hslogger-reader provides a function to generate a parser for -- hslogger-produced logs from a hslogger format string (see -- System.Log.Formatter). The accompanying executable demonstrates -- parsing and computing with a log file in constant memory. @package hslogger-reader @version 1.0.2 -- | Generate a parser for logs produced by the hslogger package, -- supporting arbitrary formatting strings (see -- System.Log.Formatter). Currently, this package does not provide -- support for custom-defined formatters. -- -- logMessageParser will generate a parser for a LogMessage -- given a format string (such "[$utcTime $loggername $prio] $msg" -- ) and a parser for your logger names. This can then be used to -- read logs line-by-line, potentially in constant memory, from disk. See -- the accompanying executable for an example of this. module System.Log.Reader data LogMessage LogMessage :: Maybe Text -> Maybe Text -> Maybe Priority -> Maybe Int -> Maybe Int -> Maybe ZonedTime -> LogMessage [message] :: LogMessage -> Maybe Text [loggerName] :: LogMessage -> Maybe Text [priority] :: LogMessage -> Maybe Priority [threadId] :: LogMessage -> Maybe Int [processId] :: LogMessage -> Maybe Int [timestamp] :: LogMessage -> Maybe ZonedTime type FormatString = Text -- | Build a parser for a LogMessage from a format string, as -- described by the hslogger package. logMessageParser :: FormatString -> Parser Text -> Either String (Parser LogMessage) -- | As logMessageParser, but provide a custom time format for -- parsing "$time" and "$utcTime" formatters. -- Compatible with hslogger's tfLogFormatter function. tfLogMessageParser :: FormatString -> Parser Text -> Parser ZonedTime -> Either String (Parser LogMessage) -- | Parse time format string "%F %X %Z" with -- defaultTimeLocale. zonedTimeParser :: Parser ZonedTime instance GHC.Show.Show System.Log.Reader.Instruction instance GHC.Show.Show System.Log.Reader.LogMessage