fast-logger-3.2.2: A fast logging system
Safe HaskellSafe-Inferred
LanguageHaskell2010

System.Log.FastLogger.Internal

Description

The contents of this module can change at any time without warning.

Synopsis

Documentation

type Buffer = Ptr Word8 #

type BufSize = Int #

The type for buffer size of each core.

defaultBufSize :: BufSize #

The default buffer size (4,096 bytes).

freeBuffer :: Buffer -> IO () #

toBufIOWith :: Buffer -> BufSize -> (Buffer -> Int -> IO ()) -> Builder -> IO () #

type FD = FD #

closeFD :: FD -> IO () #

writeRawBufferPtr2FD :: IORef FD -> Ptr Word8 -> Int -> IO Int #

invalidFD :: FD #

isFDValid :: FD -> Bool #

data Builder #

Instances

Instances details
Monoid Builder 
Instance details

Defined in Data.ByteString.Builder.Internal

Semigroup Builder 
Instance details

Defined in Data.ByteString.Builder.Internal

Methods

(<>) :: Builder -> Builder -> Builder #

sconcat :: NonEmpty Builder -> Builder

stimes :: Integral b => b -> Builder -> Builder

ToLogStr Builder # 
Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Builder -> LogStr #

data LogStr #

Log message builder. Use (<>) to append two LogStr in O(1).

Constructors

LogStr !Int Builder 

Instances

Instances details
IsString LogStr # 
Instance details

Defined in System.Log.FastLogger.LogStr

Methods

fromString :: String -> LogStr

Monoid LogStr # 
Instance details

Defined in System.Log.FastLogger.LogStr

Semigroup LogStr # 
Instance details

Defined in System.Log.FastLogger.LogStr

Methods

(<>) :: LogStr -> LogStr -> LogStr #

sconcat :: NonEmpty LogStr -> LogStr

stimes :: Integral b => b -> LogStr -> LogStr

Show LogStr # 
Instance details

Defined in System.Log.FastLogger.LogStr

Methods

showsPrec :: Int -> LogStr -> ShowS

show :: LogStr -> String

showList :: [LogStr] -> ShowS

ToLogStr LogStr # 
Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: LogStr -> LogStr #

Eq LogStr # 
Instance details

Defined in System.Log.FastLogger.LogStr

Methods

(==) :: LogStr -> LogStr -> Bool

(/=) :: LogStr -> LogStr -> Bool

logStrLength :: LogStr -> Int #

Obtaining the length of LogStr.

fromLogStr :: LogStr -> ByteString #

Converting LogStr to ByteString.

class ToLogStr msg where #

Types that can be converted to a LogStr. Instances for types from the text library use a UTF-8 encoding. Instances for numerical types use a decimal encoding.

Methods

toLogStr :: msg -> LogStr #

Instances

Instances details
ToLogStr Int16 #

Since: 2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Int16 -> LogStr #

ToLogStr Int32 #

Since: 2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Int32 -> LogStr #

ToLogStr Int64 #

Since: 2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Int64 -> LogStr #

ToLogStr Int8 #

Since: 2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Int8 -> LogStr #

ToLogStr Word16 #

Since: 2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Word16 -> LogStr #

ToLogStr Word32 #

Since: 2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Word32 -> LogStr #

ToLogStr Word64 #

Since: 2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Word64 -> LogStr #

ToLogStr Word8 #

Since: 2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Word8 -> LogStr #

ToLogStr Builder # 
Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Builder -> LogStr #

ToLogStr ByteString # 
Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: ByteString -> LogStr #

ToLogStr ByteString # 
Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: ByteString -> LogStr #

ToLogStr ShortByteString # 
Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: ShortByteString -> LogStr #

ToLogStr LogStr # 
Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: LogStr -> LogStr #

ToLogStr Text # 
Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Text -> LogStr #

ToLogStr Text # 
Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Text -> LogStr #

ToLogStr String # 
Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: String -> LogStr #

ToLogStr Integer #

Since: 2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Integer -> LogStr #

ToLogStr Double #

Since: 2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Double -> LogStr #

ToLogStr Float #

Since: 2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Float -> LogStr #

ToLogStr Int #

Since: 2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Int -> LogStr #

ToLogStr Word #

Since: 2.4.14

Instance details

Defined in System.Log.FastLogger.LogStr

Methods

toLogStr :: Word -> LogStr #

mempty :: Monoid a => a #

(<>) :: Semigroup a => a -> a -> a #

data SingleLogger #

A non-scale but time-ordered logger.

Instances

Instances details
Loggers SingleLogger # 
Instance details

Defined in System.Log.FastLogger.SingleLogger

Methods

stopLoggers :: SingleLogger -> IO () #

pushLog :: SingleLogger -> LogStr -> IO () #

flushAllLog :: SingleLogger -> IO () #

data MultiLogger #

A scale but non-time-ordered logger.

Instances

Instances details
Loggers MultiLogger # 
Instance details

Defined in System.Log.FastLogger.MultiLogger

Methods

stopLoggers :: MultiLogger -> IO () #

pushLog :: MultiLogger -> LogStr -> IO () #

flushAllLog :: MultiLogger -> IO () #

newMultiLogger :: Int -> BufSize -> IORef FD -> IO MultiLogger #

Creating MultiLogger. The first argument is the number of the internal builders.

writeLogStr :: Buffer -> IORef FD -> LogStr -> IO () #

Writting LogStr using a buffer in blocking mode. The size of LogStr must be smaller or equal to the size of buffer.

writeBigLogStr :: IORef FD -> LogStr -> IO () #

Writting LogStr using a temporary buffer.

class Loggers a where #

A class for internal loggers.

Methods

stopLoggers :: a -> IO () #

pushLog :: a -> LogStr -> IO () #

flushAllLog :: a -> IO () #

Instances

Instances details
Loggers MultiLogger # 
Instance details

Defined in System.Log.FastLogger.MultiLogger

Methods

stopLoggers :: MultiLogger -> IO () #

pushLog :: MultiLogger -> LogStr -> IO () #

flushAllLog :: MultiLogger -> IO () #

Loggers SingleLogger # 
Instance details

Defined in System.Log.FastLogger.SingleLogger

Methods

stopLoggers :: SingleLogger -> IO () #

pushLog :: SingleLogger -> LogStr -> IO () #

flushAllLog :: SingleLogger -> IO () #