log-warper-1.8.1: 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.LoggerConfig

Contents

Description

Logger configuration.

Synopsis

Documentation

fromScratch :: Monoid m => State m a -> m Source #

Useful lens combinator to be used for logging initialization. Usually should be used with zoomLogger.

isValidRotation :: RotationParameters -> Bool Source #

Checks if logger rotation parameters are valid.

Hierarchical tree of loggers (with lenses)

data HandlerWrap Source #

Wrapper over file handler with additional rounding option.

Constructors

HandlerWrap 

Fields

  • _hwFilePath :: !FilePath

    Path to the file to be handled.

  • _hwRounding :: !(Maybe Int)

    Round timestamps to this power of 10 picoseconds. Just 3 would round to nanoseconds. Just 12 would round to seconds.

data LoggerTree Source #

Stores configuration for hierarchical loggers.

Instances

Global logger configuration

data LoggerConfig Source #

Logger configuration which keeps RotationParameters and LoggerTree.

Constructors

LoggerConfig 

Fields

Lenses

zoomLogger :: Text -> State LoggerTree () -> State LoggerTree () Source #

Zooming into logger name with putting specific key.

Builders for LoggerConfig

customConsoleActionB :: Maybe (Handle -> Text -> IO ()) -> LoggerConfig Source #

Setup lcConsoleOutput inside LoggerConfig.

logsDirB :: FilePath -> LoggerConfig Source #

Setup lcLogsDirectory inside LoggerConfig to specific prefix.

productionB :: LoggerConfig Source #

Adds sensible predefined set of parameters to logger.