log-warper-0.2.3: Flexible, configurable, monadic and pretty logging

Copyright(c) Serokell 2016
LicenseGPL-3 (see the file LICENSE)
MaintainerSerokell <hi@serokell.io>
Stabilityexperimental
PortabilityPOSIX, GHC
Safe HaskellNone
LanguageHaskell2010

System.Wlog.Parser

Description

Parser for configuring and initializing logger from YAML file. Logger configuration should look like this:

node:                    # logger named «node»
    severity: Warning    # severity for logger «node»
    comm:                # logger named «node.comm»
        severity: Info   # severity for logger «node.comm»
        file: patak.jpg  # messages will be also printed to patak.jpg

And this configuration corresponds two loggers with LoggerName's node and node.comm.

Synopsis

Documentation

initLoggingFromYamlWithMapper :: MonadIO m => (LoggerName -> LoggerName) -> FilePath -> Maybe FilePath -> m () Source #

Initialize logger hierarchy from configuration file. See this module description.

parseLoggerConfig :: MonadIO m => FilePath -> m LoggerConfig Source #

Parses logger config from given file path.

traverseLoggerConfig Source #

Arguments

:: MonadIO m 
=> (LoggerName -> LoggerName)

mapper to transform logger names during traversal

-> LoggerConfig

given LoggerConfig to traverse

-> Maybe FilePath

prefix for file handlers

-> m () 

This function traverses LoggerConfig initializing all subloggers with Severity and redirecting output in file handlers. Also takes FilePath prefix to create directory for file handlers output.