| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
System.Log.FastLogger.Internal
Description
The contents of this module can change at any time without warning.
Synopsis
- defaultBufSize :: BufSize
- freeBuffer :: Buffer -> IO ()
- getBuffer :: BufSize -> IO Buffer
- toBufIOWith :: Buffer -> BufSize -> (Buffer -> Int -> IO ()) -> Builder -> IO ()
- type BufSize = Int
- type Buffer = Ptr Word8
- closeFD :: FD -> IO ()
- getStderrFD :: IO FD
- getStdoutFD :: IO FD
- invalidFD :: FD
- isFDValid :: FD -> Bool
- openFileFD :: FilePath -> IO FD
- writeRawBufferPtr2FD :: IORef FD -> Ptr Word8 -> Int -> IO Int
- type FD = FD
- fromLogStr :: LogStr -> ByteString
- logStrLength :: LogStr -> Int
- data Builder
- data LogStr = LogStr !Int Builder
- class ToLogStr msg where
- mempty :: Monoid a => a
- (<>) :: Semigroup a => a -> a -> a
- newSingleLogger :: BufSize -> IORef FD -> IO SingleLogger
- data SingleLogger
- newMultiLogger :: Int -> BufSize -> IORef FD -> IO MultiLogger
- data MultiLogger
- writeBigLogStr :: IORef FD -> LogStr -> IO ()
- writeLogStr :: Buffer -> IORef FD -> LogStr -> IO ()
- class Loggers a where
- stopLoggers :: a -> IO ()
- pushLog :: a -> LogStr -> IO ()
- flushAllLog :: a -> IO ()
- module System.Log.FastLogger.LoggerSet
Documentation
The default buffer size (4,096 bytes).
freeBuffer :: Buffer -> IO () #
getStderrFD :: IO FD #
getStdoutFD :: IO FD #
openFileFD :: FilePath -> IO FD #
writeRawBufferPtr2FD :: IORef FD -> Ptr Word8 -> Int -> IO Int #
fromLogStr :: LogStr -> ByteString #
Converting LogStr to ByteString.
logStrLength :: LogStr -> Int #
Obtaining the length of LogStr.
Log message builder. Use (<>) to append two LogStr in O(1).
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.
Instances
newSingleLogger :: BufSize -> IORef FD -> IO SingleLogger #
Creating SingleLogger.
data SingleLogger #
A non-scale but time-ordered logger.
Instances
| Loggers SingleLogger # | |
Defined in System.Log.FastLogger.SingleLogger Methods stopLoggers :: SingleLogger -> IO () # pushLog :: SingleLogger -> LogStr -> IO () # flushAllLog :: SingleLogger -> IO () # | |
newMultiLogger :: Int -> BufSize -> IORef FD -> IO MultiLogger #
Creating MultiLogger.
The first argument is the number of the internal builders.
data MultiLogger #
A scale but non-time-ordered logger.
Instances
| Loggers MultiLogger # | |
Defined in System.Log.FastLogger.MultiLogger Methods stopLoggers :: MultiLogger -> IO () # pushLog :: MultiLogger -> LogStr -> IO () # flushAllLog :: MultiLogger -> IO () # | |
writeBigLogStr :: IORef FD -> LogStr -> IO () #
Writting LogStr using a temporary buffer.
writeLogStr :: Buffer -> IORef FD -> LogStr -> IO () #
A class for internal loggers.
Instances
| Loggers MultiLogger # | |
Defined in System.Log.FastLogger.MultiLogger Methods stopLoggers :: MultiLogger -> IO () # pushLog :: MultiLogger -> LogStr -> IO () # flushAllLog :: MultiLogger -> IO () # | |
| Loggers SingleLogger # | |
Defined in System.Log.FastLogger.SingleLogger Methods stopLoggers :: SingleLogger -> IO () # pushLog :: SingleLogger -> LogStr -> IO () # flushAllLog :: SingleLogger -> IO () # | |