Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Logger
Synopsis
- data Logger
- fromHandle :: Handle -> IO Logger
- fromFd :: Fd -> IO Logger
- builder :: Logger -> Builder -> IO ()
- boundedBuilder :: Logger -> Nat n -> Builder n -> IO ()
- chunks :: Logger -> Chunks -> IO ()
- bytes :: Logger -> Bytes -> IO ()
- byteArray :: Logger -> ByteArray -> IO ()
- cstring :: Logger -> CString -> IO ()
- cstring# :: Logger -> Addr# -> IO ()
- flush :: Logger -> IO ()
Types
An output channel for logs. The intent is that there is only one logger per application, opened at load time and shared across all threads.
Open
fromHandle :: Handle -> IO Logger Source #
Convert a Handle
to a logger by extracting its file descriptor.
Warning: the caller must ensure that the handle does not get garbage
collected. This is very dangerous.
Log
builder :: Logger -> Builder -> IO () Source #
Log the chunks that result from executing the byte builder.
boundedBuilder :: Logger -> Nat n -> Builder n -> IO () Source #
Log the unsliced byte array that results from executing the bounded builder.
cstring# :: Logger -> Addr# -> IO () Source #
Log a NUL
-terminated C string. Takes the unboxed equivalent of CString
.
This improves legibility in a common case:
cstring logger (Ptr "Initializing..."#)
This can be written more succinctly as:
cstring# logger "Initializing..."#