| Copyright | (c) Serokell 2016 |
|---|---|
| License | GPL-3 (see the file LICENSE) |
| Maintainer | Serokell <hi@serokell.io> |
| Stability | experimental |
| Portability | POSIX, GHC |
| Safe Haskell | None |
| Language | Haskell2010 |
System.Wlog.Launcher
Description
Parser for configuring and initializing logger from YAML file. Logger configuration should look like this:
rotation: # [optional] parameters for logging rotation
logLimit: 1024 # max size of log file in bytes
keepFiles: 3 # number of files with logs to keep including current one
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.jpgAnd this configuration corresponds two loggers with LoggerName's
node and node.comm.
- initLoggingFromYaml :: MonadIO m => FilePath -> Maybe FilePath -> m ()
- initLoggingFromYamlWithMapper :: MonadIO m => (LoggerName -> LoggerName) -> FilePath -> Maybe FilePath -> m ()
- parseLoggerConfig :: MonadIO m => FilePath -> m LoggerConfig
- traverseLoggerConfig :: MonadIO m => (LoggerName -> LoggerName) -> Maybe RotationParameters -> LoggerTree -> Maybe FilePath -> m ()
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.
Arguments
| :: MonadIO m | |
| => (LoggerName -> LoggerName) | mapper to transform logger names during traversal |
| -> Maybe RotationParameters | rotation parameters for roller handle |
| -> LoggerTree | given |
| -> 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. Create
logging rotation if appropriate arguments are passed.