Loading CHANGELOG.md +4 −0 Original line number Diff line number Diff line 0.10 ----------------------------------------------------------------------------- - Introduce `Settings` module. 0.9 ----------------------------------------------------------------------------- - Add support for netstrings encoding. Loading src/System/Logger.hs +12 −12 Original line number Diff line number Diff line Loading @@ -68,7 +68,7 @@ import qualified System.Log.FastLogger as FL data Logger = Logger { logger :: FL.LoggerSet , settings :: Settings , getDate :: Maybe DateCacheGetter , getDate :: IO (Msg -> Msg) , closeDate :: Maybe DateCacheCloser } Loading @@ -87,7 +87,7 @@ new s = liftIO $ do let s' = setLogLevel (fromMaybe (logLevel s) l) . setNetStrings (fromMaybe (netstrings s) e) $ s return $ Logger g s' (fst <$> c) (snd <$> c) return $ Logger g s' (maybe (return id) (liftM msg) (fst <$> c)) (snd <$> c) where fn StdOut = FL.newStdoutLoggerSet fn StdErr = FL.newStderrLoggerSet Loading Loading @@ -152,18 +152,18 @@ level = logLevel . settings putMsg :: MonadIO m => Logger -> Level -> (Msg -> Msg) -> m () putMsg g l f = liftIO $ do d <- maybe (return id) (liftM msg) (getDate g) d <- getDate g let n = netstrings $ settings g let x = delimiter $ settings g let s = nameMsg $ settings g let m = render x n (d . msg (l2b l) . s . f) let m = render x n (d . lmsg l . s . f) FL.pushLogStr (logger g) (FL.toLogStr m) where l2b :: Level -> ByteString l2b Trace = "T" l2b Debug = "D" l2b Info = "I" l2b Warn = "W" l2b Error = "E" l2b Fatal = "F" lmsg :: Level -> (Msg -> Msg) lmsg Trace = msg (val "T") lmsg Debug = msg (val "D") lmsg Info = msg (val "I") lmsg Warn = msg (val "W") lmsg Error = msg (val "E") lmsg Fatal = msg (val "F") {-# INLINE lmsg #-} src/System/Logger/Message.hs +9 −0 Original line number Diff line number Diff line Loading @@ -18,12 +18,14 @@ module System.Logger.Message ( ToBytes (..) , Msg , Builder , msg , field , (.=) , (+++) , (~~) , val , eval , render ) where Loading @@ -31,6 +33,7 @@ import Data.ByteString (ByteString) import Data.Double.Conversion.Text import Data.Int import Data.Monoid import Data.String import Data.Text (Text) import Data.Text.Encoding (encodeUtf8) import Data.Word Loading @@ -50,6 +53,12 @@ instance Monoid Builder where mempty = Builder 0 mempty (Builder x a) `mappend` (Builder y b) = Builder (x + y) (a <> b) instance IsString Builder where fromString = bytes eval :: Builder -> L.ByteString eval (Builder n b) = B.toLazyByteStringWith (B.safeStrategy n 256) L.empty b -- | Convert some value to a 'Builder'. class ToBytes a where bytes :: a -> Builder Loading tinylog.cabal +1 −1 Original line number Diff line number Diff line name: tinylog version: 0.10 version: 0.10.1 synopsis: Simplistic logging using fast-logger. author: Toralf Wittner maintainer: Toralf Wittner <tw@dtex.org> Loading Loading
CHANGELOG.md +4 −0 Original line number Diff line number Diff line 0.10 ----------------------------------------------------------------------------- - Introduce `Settings` module. 0.9 ----------------------------------------------------------------------------- - Add support for netstrings encoding. Loading
src/System/Logger.hs +12 −12 Original line number Diff line number Diff line Loading @@ -68,7 +68,7 @@ import qualified System.Log.FastLogger as FL data Logger = Logger { logger :: FL.LoggerSet , settings :: Settings , getDate :: Maybe DateCacheGetter , getDate :: IO (Msg -> Msg) , closeDate :: Maybe DateCacheCloser } Loading @@ -87,7 +87,7 @@ new s = liftIO $ do let s' = setLogLevel (fromMaybe (logLevel s) l) . setNetStrings (fromMaybe (netstrings s) e) $ s return $ Logger g s' (fst <$> c) (snd <$> c) return $ Logger g s' (maybe (return id) (liftM msg) (fst <$> c)) (snd <$> c) where fn StdOut = FL.newStdoutLoggerSet fn StdErr = FL.newStderrLoggerSet Loading Loading @@ -152,18 +152,18 @@ level = logLevel . settings putMsg :: MonadIO m => Logger -> Level -> (Msg -> Msg) -> m () putMsg g l f = liftIO $ do d <- maybe (return id) (liftM msg) (getDate g) d <- getDate g let n = netstrings $ settings g let x = delimiter $ settings g let s = nameMsg $ settings g let m = render x n (d . msg (l2b l) . s . f) let m = render x n (d . lmsg l . s . f) FL.pushLogStr (logger g) (FL.toLogStr m) where l2b :: Level -> ByteString l2b Trace = "T" l2b Debug = "D" l2b Info = "I" l2b Warn = "W" l2b Error = "E" l2b Fatal = "F" lmsg :: Level -> (Msg -> Msg) lmsg Trace = msg (val "T") lmsg Debug = msg (val "D") lmsg Info = msg (val "I") lmsg Warn = msg (val "W") lmsg Error = msg (val "E") lmsg Fatal = msg (val "F") {-# INLINE lmsg #-}
src/System/Logger/Message.hs +9 −0 Original line number Diff line number Diff line Loading @@ -18,12 +18,14 @@ module System.Logger.Message ( ToBytes (..) , Msg , Builder , msg , field , (.=) , (+++) , (~~) , val , eval , render ) where Loading @@ -31,6 +33,7 @@ import Data.ByteString (ByteString) import Data.Double.Conversion.Text import Data.Int import Data.Monoid import Data.String import Data.Text (Text) import Data.Text.Encoding (encodeUtf8) import Data.Word Loading @@ -50,6 +53,12 @@ instance Monoid Builder where mempty = Builder 0 mempty (Builder x a) `mappend` (Builder y b) = Builder (x + y) (a <> b) instance IsString Builder where fromString = bytes eval :: Builder -> L.ByteString eval (Builder n b) = B.toLazyByteStringWith (B.safeStrategy n 256) L.empty b -- | Convert some value to a 'Builder'. class ToBytes a where bytes :: a -> Builder Loading
tinylog.cabal +1 −1 Original line number Diff line number Diff line name: tinylog version: 0.10 version: 0.10.1 synopsis: Simplistic logging using fast-logger. author: Toralf Wittner maintainer: Toralf Wittner <tw@dtex.org> Loading