Commit a49750ff authored by Yuanle Song's avatar Yuanle Song
Browse files

v0.15.2 support log local time instead of just UTC time.

parent 1ec937aa
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ module System.Logger
    , DateFormat (..)
    , Renderer
    , iso8601UTC
    , iso8601

      -- * Core API
    , new
@@ -137,7 +138,10 @@ new s = liftIO $ do
    fn (Path p) = flip FL.newFileLoggerSet p

    mkGetDate Nothing  = return (return id)
    mkGetDate (Just f) = return (msg . (display f) <$> getUnixTime)
    mkGetDate (Just f) = do
      t <- getUnixTime
      bs <- display f t
      return $ return $ msg bs

    mergeWith m e = Map.fromList (readNote "Invalid LOG_LEVEL_MAP" e) `Map.union` m

@@ -202,7 +206,7 @@ putMsg g l f = liftIO $ do
    let r = renderer  $ settings g
    let x = delimiter $ settings g
    let s = nameMsg   $ settings g
    let df = fromMaybe iso8601UTC . format $ settings g
    let df = fromMaybe iso8601 . format $ settings g
    let ll = logLevel $ settings g
    let m = render (r x df ll) (d . lmsg l . s . f)
    FL.pushLogStr (logger g) (FL.toLogStr m)
+1 −1
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ module System.Logger.Class

    , L.DateFormat
    , L.iso8601UTC
    , L.iso8601

    , L.Logger
    , L.new
@@ -67,4 +68,3 @@ info = System.Logger.Class.log Info
warn  = System.Logger.Class.log Warn
err   = System.Logger.Class.log Error
fatal = System.Logger.Class.log Fatal
+10 −5
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ module System.Logger.Settings
    , readEnvironment
    , setReadEnvironment
    , iso8601UTC
    , iso8601
    ) where

import Data.String
@@ -172,15 +173,19 @@ data Output
    deriving (Eq, Ord, Show)

newtype DateFormat = DateFormat
    { display :: UnixTime -> ByteString
    { display :: UnixTime -> IO ByteString
    }

instance IsString DateFormat where
    fromString = DateFormat . formatUnixTimeGMT . pack
    fromString = DateFormat . formatUnixTime . pack

-- | ISO 8601 date-time format.
-- | ISO 8601 date-time format, local time.
iso8601 :: DateFormat
iso8601 = "%Y-%0m-%0dT%0H:%0M:%0S"

-- | ISO 8601 date-time format, UTC time.
iso8601UTC :: DateFormat
iso8601UTC = "%Y-%0m-%0dT%0H:%0M:%0SZ"
iso8601UTC = DateFormat $ return . formatUnixTimeGMT (pack "%Y-%0m-%0dT%0H:%0M:%0SZ")

-- | Take a custom separator, date format, log level of the event, and render
-- a list of log fields or messages into a builder.
@@ -209,7 +214,7 @@ defSettings = Settings
    Debug
    Map.empty
    StdOut
    (Just iso8601UTC)
    (Just iso8601)
    ", "
    defaultBufSize
    Nothing
+1 −1
Original line number Diff line number Diff line
name:                 tinylog
version:              0.15.1
version:              0.15.2
synopsis:             Simplistic logging using fast-logger.
author:               Toralf Wittner
maintainer:           Toralf Wittner <tw@dtex.org>