tinylog-0.14.1: Simplistic logging using fast-logger.

Safe HaskellNone
LanguageHaskell2010

System.Logger.Message

Description

Msg and ToBytes assist in constructing log messages. For example:

> g <- new (setBufSize 1 . setOutput StdOut $ defSettings)
> info g $ msg "some text" ~~ "key" .= "value" ~~ "okay" .= True
2014-04-28T21:18:20Z, I, some text, key=value, okay=True
>
Synopsis

Documentation

class ToBytes a where #

Convert some value to a Builder.

Minimal complete definition

bytes

Methods

bytes :: a -> Builder #

Instances
ToBytes Bool # 
Instance details

Defined in System.Logger.Message

Methods

bytes :: Bool -> Builder #

ToBytes Char # 
Instance details

Defined in System.Logger.Message

Methods

bytes :: Char -> Builder #

ToBytes Double # 
Instance details

Defined in System.Logger.Message

Methods

bytes :: Double -> Builder #

ToBytes Float # 
Instance details

Defined in System.Logger.Message

Methods

bytes :: Float -> Builder #

ToBytes Int # 
Instance details

Defined in System.Logger.Message

Methods

bytes :: Int -> Builder #

ToBytes Int8 # 
Instance details

Defined in System.Logger.Message

Methods

bytes :: Int8 -> Builder #

ToBytes Int16 # 
Instance details

Defined in System.Logger.Message

Methods

bytes :: Int16 -> Builder #

ToBytes Int32 # 
Instance details

Defined in System.Logger.Message

Methods

bytes :: Int32 -> Builder #

ToBytes Int64 # 
Instance details

Defined in System.Logger.Message

Methods

bytes :: Int64 -> Builder #

ToBytes Integer # 
Instance details

Defined in System.Logger.Message

Methods

bytes :: Integer -> Builder #

ToBytes Word # 
Instance details

Defined in System.Logger.Message

Methods

bytes :: Word -> Builder #

ToBytes Word8 # 
Instance details

Defined in System.Logger.Message

Methods

bytes :: Word8 -> Builder #

ToBytes Word16 # 
Instance details

Defined in System.Logger.Message

Methods

bytes :: Word16 -> Builder #

ToBytes Word32 # 
Instance details

Defined in System.Logger.Message

Methods

bytes :: Word32 -> Builder #

ToBytes Word64 # 
Instance details

Defined in System.Logger.Message

Methods

bytes :: Word64 -> Builder #

ToBytes ByteString # 
Instance details

Defined in System.Logger.Message

Methods

bytes :: ByteString -> Builder #

ToBytes ByteString # 
Instance details

Defined in System.Logger.Message

Methods

bytes :: ByteString -> Builder #

ToBytes Text # 
Instance details

Defined in System.Logger.Message

Methods

bytes :: Text -> Builder #

ToBytes Text # 
Instance details

Defined in System.Logger.Message

Methods

bytes :: Text -> Builder #

ToBytes Builder # 
Instance details

Defined in System.Logger.Message

Methods

bytes :: Builder -> Builder #

ToBytes [Char] # 
Instance details

Defined in System.Logger.Message

Methods

bytes :: [Char] -> Builder #

data Msg #

Type representing log messages.

data Builder #

Instances
IsString Builder # 
Instance details

Defined in System.Logger.Message

Methods

fromString :: String -> Builder #

Semigroup Builder # 
Instance details

Defined in System.Logger.Message

Monoid Builder # 
Instance details

Defined in System.Logger.Message

ToBytes Builder # 
Instance details

Defined in System.Logger.Message

Methods

bytes :: Builder -> Builder #

msg :: ToBytes a => a -> Msg -> Msg #

Turn some value into a Msg.

field :: ToBytes a => ByteString -> a -> Msg -> Msg #

Render some field, i.e. a key-value pair delimited by "=".

(.=) :: ToBytes a => ByteString -> a -> Msg -> Msg infixr 5 #

Alias of field.

(+++) :: (ToBytes a, ToBytes b) => a -> b -> Builder infixr 6 #

Concatenate two ToBytes values.

(~~) :: (b -> c) -> (a -> b) -> a -> c infixr 4 #

Alias of . with lowered precedence to allow combination with .= without requiring parentheses.

val :: ByteString -> Builder #

Type restriction. Useful to disambiguate string literals when using OverloadedStrings pragma.

render :: ByteString -> Bool -> (Msg -> Msg) -> ByteString #

Intersperse parts of the log message with the given delimiter and render the whole builder into a ByteString.

If the second parameter is set to True, netstrings encoding is used for the message elements. Cf. http://cr.yp.to/proto/netstrings.txt for details.