hslogger-reader 1.0.0 → 1.0.1
raw patch · 4 files changed
+49/−17 lines, 4 filesdep ~timePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: time
API changes (from Hackage documentation)
- System.Log.Reader: instance Show Instruction
- System.Log.Reader: instance Show LogMessage
- System.Log.Reader: loggerName :: LogMessage -> Maybe Text
- System.Log.Reader: message :: LogMessage -> Maybe Text
- System.Log.Reader: priority :: LogMessage -> Maybe Priority
- System.Log.Reader: processId :: LogMessage -> Maybe Int
- System.Log.Reader: threadId :: LogMessage -> Maybe Int
- System.Log.Reader: timestamp :: LogMessage -> Maybe ZonedTime
+ System.Log.Reader: [loggerName] :: LogMessage -> Maybe Text
+ System.Log.Reader: [message] :: LogMessage -> Maybe Text
+ System.Log.Reader: [priority] :: LogMessage -> Maybe Priority
+ System.Log.Reader: [processId] :: LogMessage -> Maybe Int
+ System.Log.Reader: [threadId] :: LogMessage -> Maybe Int
+ System.Log.Reader: [timestamp] :: LogMessage -> Maybe ZonedTime
+ System.Log.Reader: instance GHC.Show.Show System.Log.Reader.Instruction
+ System.Log.Reader: instance GHC.Show.Show System.Log.Reader.LogMessage
Files
- changelog +5/−0
- hslogger-reader.cabal +22/−12
- src-exe/filter-logs/Arguments.hs +11/−2
- src/System/Log/Reader.hs +11/−3
+ changelog view
@@ -0,0 +1,5 @@+1.0.1+-----++* Supporting base == 4.8.* and time == 1.5.*, and providing an+ `old-locale' flag in order to build with time < 1.5.
hslogger-reader.cabal view
@@ -1,17 +1,12 @@ name: hslogger-reader-version: 1.0.0+version: 1.0.1 synopsis: Parsing hslogger-produced logs. description: - hslogger-reader provides a function to generate a parser for <http://hackage.haskell.org/package/hslogger hslogger>-produced logs from a hslogger format string (see "System.Log.Formatter"). The- accompanying /profiling/ executable demonstrates parsing and computing- with a log file in constant memory.-- Also bundled is the /filter-logs/ executable, a command-line tool to- filter a hslogger-syle log file.-+ accompanying executable demonstrates parsing and computing with a+ log file in constant memory. license: BSD3 license-file: LICENSE author: Alex Bates@@ -21,6 +16,11 @@ bug-reports: http://github.com/prophet-on-that/hslogger-reader/issues cabal-version: >=1.10 category: Interfaces, Parsing+Extra-Source-Files: changelog + +Flag old-locale+ Description: When enabled, use time < 1.5+ Default: False library exposed-modules:@@ -34,8 +34,13 @@ , attoparsec == 0.12.* , text == 1.2.* , hslogger == 1.2.*- , time == 1.4.*- , old-locale + if flag(old-locale)+ build-depends: + time == 1.4.*+ , old-locale+ else + build-depends: + time == 1.5.* ghc-options: -W executable profiling@@ -63,9 +68,14 @@ , text , attoparsec , hslogger- , time , text-icu == 0.7.* , optparse-applicative == 0.11.*- , old-locale+ if flag(old-locale)+ build-depends: + time == 1.4.*+ , old-locale+ else + build-depends: + time == 1.5.* ghc-options: -W
src-exe/filter-logs/Arguments.hs view
@@ -1,14 +1,19 @@+{-# LANGUAGE CPP #-}+ module Arguments ( Arguments (..) , opts ) where import Options.Applicative-import Data.Time import System.Log.Logger import qualified Data.Text as T-import System.Locale (defaultTimeLocale) import Data.Maybe+import Data.Time+#if MIN_VERSION_time(1,5,0)+#else+import System.Locale (defaultTimeLocale)+#endif data Arguments = Arguments { lowerTime :: Maybe UTCTime@@ -104,4 +109,8 @@ parseUTCTime :: String -> UTCTime parseUTCTime+#if MIN_VERSION_time(1,5,0)+ = fromMaybe (error "Cannot parse date (expected format `yyyy-mm-ddThh:mm:ssZ'") . parseTimeM True defaultTimeLocale "%FT%TZ"+#else = fromMaybe (error "Cannot parse date (expected format `yyyy-mm-ddThh:mm:ssZ'") . parseTime defaultTimeLocale "%FT%TZ"+#endif
src/System/Log/Reader.hs view
@@ -1,7 +1,7 @@ -- | Generate a parser for logs produced by the -- <http://hackage.haskell.org/package/hslogger hslogger> package, -- supporting arbitrary formatting strings (see--- "System.Log.Formatter"). Currently, this package does provide+-- "System.Log.Formatter"). Currently, this package does not provide -- support for custom-defined formatters. -- -- 'logMessageParser' will generate a parser for a 'LogMessage' given@@ -11,6 +11,7 @@ -- accompanying executable for an example of this. {-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE CPP #-} module System.Log.Reader ( LogMessage (..)@@ -27,10 +28,13 @@ import Control.Applicative import Data.Foldable import System.Log-import Data.Time import Data.Char (isAlpha) import Data.Monoid+import Data.Time+#if MIN_VERSION_time(1,5,0)+#else import System.Locale (defaultTimeLocale)+#endif type FormatString = T.Text @@ -158,8 +162,12 @@ let str = date `space` time `space` tzName- ++#if MIN_VERSION_time (1,5,0) + case parseTimeM True defaultTimeLocale "%F %X %Z" (T.unpack str) of+#else case parseTime defaultTimeLocale "%F %X %Z" (T.unpack str) of+#endif Nothing -> fail "zonedTimeParse: failed to parse ZonedTime" Just zt ->