Commit b0c5e63f authored by Toralf Wittner's avatar Toralf Wittner
Browse files

Replace `date-cache` with `auto-update`.

parent 7c421ad7
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -6,15 +6,15 @@

module Main (main) where

import Criterion
import Criterion.Main
import Criterion.Config
import Data.Int
import System.Logger.Message

import qualified Data.ByteString.Lazy as L

main :: IO ()
main = defaultMainWith defaultConfig (return ())
main = defaultMain
    [ bgroup "direct"
        [ bench "msg/8"  (whnf (f False) 8)
        , bench "msg/16" (whnf (f False) 16)
+6 −13
Original line number Diff line number Diff line
@@ -52,13 +52,12 @@ module System.Logger

import Prelude hiding (log)
import Control.Applicative
import Control.AutoUpdate
import Control.Monad
import Control.Monad.IO.Class
import Data.ByteString (ByteString)
import Data.Maybe (fromMaybe)
import Data.Text (Text)
import Data.UnixTime
import System.Date.Cache
import System.Environment (lookupEnv)
import System.Logger.Message as M
import System.Logger.Settings
@@ -69,7 +68,6 @@ data Logger = Logger
    { logger    :: FL.LoggerSet
    , settings  :: Settings
    , getDate   :: IO (Msg -> Msg)
    , closeDate :: Maybe DateCacheCloser
    }

-- | Create a new 'Logger' with the given 'Settings'.
@@ -83,21 +81,18 @@ new s = liftIO $ do
    l <- fmap (readNote "Invalid LOG_LEVEL")  <$> lookupEnv "LOG_LEVEL"
    e <- fmap (readNote "Invalid LOG_NETSTR") <$> lookupEnv "LOG_NETSTR"
    g <- fn (output s) (fromMaybe (bufSize s) n)
    c <- clockCache (format s)
    let s' = setLogLevel (fromMaybe (logLevel s) l)
           . setNetStrings (fromMaybe (netstrings s) e)
           $ s
    return $ Logger g s' (maybe (return id) (liftM msg) (fst <$> c)) (snd <$> c)
    Logger g s' <$> mkGetDate (format s)
  where
    fn StdOut   = FL.newStdoutLoggerSet
    fn StdErr   = FL.newStderrLoggerSet
    fn (Path p) = flip FL.newFileLoggerSet p

    clockCache "" = return Nothing
    clockCache f  = Just <$> clockDateCacher (DateCacheConf getUnixTime (fmt f))

    fmt :: DateFormat -> UnixTime -> IO ByteString
    fmt d = return . formatUnixTimeGMT (template d)
    mkGetDate "" = return (return id)
    mkGetDate f  = mkAutoUpdate defaultUpdateSettings
        { updateAction = msg . formatUnixTimeGMT (template f) <$> getUnixTime }

-- | Invokes 'new' with default settings and the given output as log sink.
create :: MonadIO m => Output -> m Logger
@@ -141,9 +136,7 @@ flush = liftIO . FL.flushLogStr . logger

-- | Closes the logger.
close :: MonadIO m => Logger -> m ()
close g = liftIO $ do
    fromMaybe (return ()) (closeDate g)
    FL.rmLoggerSet (logger g)
close g = liftIO $ FL.rmLoggerSet (logger g)

-- | Inspect this logger's threshold.
level :: Logger -> Level
+3 −3
Original line number Diff line number Diff line
name:                 tinylog
version:              0.10.2
version:              0.10.3
synopsis:             Simplistic logging using fast-logger.
author:               Toralf Wittner
maintainer:           Toralf Wittner <tw@dtex.org>
@@ -37,7 +37,7 @@ library
    build-depends:
          base              == 4.*
        , bytestring        >= 0.10.4 && < 0.11
        , date-cache        == 0.3.*
        , auto-update       == 0.1.*
        , double-conversion == 0.2.*
        , fast-logger       >= 2.1.4  && < 2.3
        , text              >= 0.11   && < 1.2
@@ -53,5 +53,5 @@ benchmark tinylog-bench
    build-depends:
          base       == 4.*
        , bytestring
        , criterion  == 0.8.*
        , criterion  >= 1.0.0.2 && < 1.1
        , tinylog