Loading bench/Bench.hs +2 −2 Original line number Diff line number Diff line Loading @@ -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) Loading src/System/Logger.hs +6 −13 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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'. Loading @@ -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 Loading Loading @@ -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 Loading tinylog.cabal +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> Loading Loading @@ -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 Loading @@ -53,5 +53,5 @@ benchmark tinylog-bench build-depends: base == 4.* , bytestring , criterion == 0.8.* , criterion >= 1.0.0.2 && < 1.1 , tinylog Loading
bench/Bench.hs +2 −2 Original line number Diff line number Diff line Loading @@ -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) Loading
src/System/Logger.hs +6 −13 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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'. Loading @@ -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 Loading Loading @@ -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 Loading
tinylog.cabal +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> Loading Loading @@ -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 Loading @@ -53,5 +53,5 @@ benchmark tinylog-bench build-depends: base == 4.* , bytestring , criterion == 0.8.* , criterion >= 1.0.0.2 && < 1.1 , tinylog