easy-logger-0.1.0.7: Logging made easy.
Safe HaskellNone
LanguageHaskell2010

EasyLogger.LoggerSet

Synopsis

Documentation

data Logger Source #

Constructors

Logger !BufSize (MVar Buffer) (IORef LogStr) 

data LoggerSet Source #

A set of loggers. The number of loggers is the capabilities of GHC RTS. You can specify it with "+RTS -N<x>". A buffer is prepared for each capability.

Constructors

LoggerSet (Maybe FilePath) (IORef FD) (Array Int Logger) (IO ()) 

type BufSize = Int Source #

The type for buffer size of each core.

newFileLoggerSet :: BufSize -> FilePath -> IO LoggerSet Source #

Creating a new LoggerSet using a file.

newStdoutLoggerSet :: BufSize -> IO LoggerSet Source #

Creating a new LoggerSet using stdout.

newStderrLoggerSet :: BufSize -> IO LoggerSet Source #

Creating a new LoggerSet using stderr.

newFDLoggerSet :: BufSize -> Maybe FilePath -> FD -> IO LoggerSet Source #

Creating a new LoggerSet using a FD.

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

write :: IORef FD -> Buffer -> Int -> IO () Source #

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

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

rmLoggerSet :: LoggerSet -> IO () Source #

Flushing the buffers, closing the internal file information and freeing the buffers.

flushLoggerSet :: LoggerSet -> IO () Source #

Flushing the buffers.