packages feed

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 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 ->