logsink
is meant to be used in conjunction with
logging-facade
. To log
messages application code uses functions from System.Logging.Facade
.
logsink
itself is a backend for logging-facade
and allows to configure
logging behavior.
logsink
has built-in support for stderr
and syslog
. The following example
shows how to direct log messages to syslog
:
import qualified System.Logging.Facade as Log
import System.Logging.LogSink.Config
main :: IO ()
main = do
setupLogging [defaultSinkConfig { sinkConfigTarget = SysLog }]
Log.error "This is an error message."
You can also configure the message format. (See documentation of System.Logging.LogSink.Format
for allowed format directives.)
main2 :: IO ()
main2 = do
setupLogging [defaultSinkConfig { sinkConfigFormat = "{level} - {timestamp}: {message}" }]
Log.error "This is an error message."