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 |
Logger configuration.
- type LoggerMap = HashMap Text LoggerTree
- data RotationParameters = RotationParameters {
- rpLogLimit :: !Word64
- rpKeepFiles :: !Word
- fromScratch :: Monoid m => State m a -> m
- isValidRotation :: RotationParameters -> Bool
- data LoggerTree = LoggerTree {
- _ltSubloggers :: !LoggerMap
- _ltFiles :: ![FilePath]
- _ltSeverity :: !(Maybe Severity)
- ltFiles :: Lens' LoggerTree [FilePath]
- ltSeverity :: Lens' LoggerTree (Maybe Severity)
- ltSubloggers :: Lens' LoggerTree LoggerMap
- data LoggerConfig = LoggerConfig {}
- lcConsoleOutput :: Lens' LoggerConfig Any
- lcFilePrefix :: Lens' LoggerConfig (Maybe FilePath)
- lcMapper :: Lens' LoggerConfig (Endo LoggerName)
- lcMemModeLimit :: Lens' LoggerConfig (Maybe Word64)
- lcRotation :: Lens' LoggerConfig (Maybe RotationParameters)
- lcShowTime :: Lens' LoggerConfig Any
- lcTermSeverity :: Lens' LoggerConfig (Maybe Severity)
- lcTree :: Lens' LoggerConfig LoggerTree
- lcRoundVal :: Lens' LoggerConfig (Maybe Int)
- zoomLogger :: Text -> State LoggerTree () -> State LoggerTree ()
- consoleOutB :: Bool -> LoggerConfig
- mapperB :: (LoggerName -> LoggerName) -> LoggerConfig
- memoryB :: Word64 -> LoggerConfig
- prefixB :: FilePath -> LoggerConfig
- productionB :: LoggerConfig
- showTimeB :: Bool -> LoggerConfig
Documentation
data RotationParameters Source #
Parameters for logging rotation.
RotationParameters | |
|
fromScratch :: Monoid m => State m a -> m Source #
Useful lens combinator to be used for logging initialization.
isValidRotation :: RotationParameters -> Bool Source #
Checks if logger rotation parameters are valid.
Hierarchical tree of loggers (with lenses)
data LoggerTree Source #
Stores configuration for hierarchical loggers.
LoggerTree | |
|
Global logger configuration
data LoggerConfig Source #
Logger configuration which keeps RotationParameters
and LoggerTree
.
LoggerConfig | |
|
Monoid LoggerConfig Source # | |
ToJSON LoggerConfig Source # | This instances violates |
FromJSON LoggerConfig Source # | |
Lenses
lcRoundVal :: Lens' LoggerConfig (Maybe Int) Source #
zoomLogger :: Text -> State LoggerTree () -> State LoggerTree () Source #
Zooming into logger name with putting specific key.
Builders for LoggerConfig
consoleOutB :: Bool -> LoggerConfig Source #
Setup lcConsoleOutput
inside LoggerConfig
.
mapperB :: (LoggerName -> LoggerName) -> LoggerConfig Source #
Setup lcMapper
inside LoggerConfig
.
memoryB :: Word64 -> LoggerConfig Source #
Setup memory logger with certain limit
prefixB :: FilePath -> LoggerConfig Source #
Setup lcFilePrefix
inside LoggerConfig
.
productionB :: LoggerConfig Source #
Adds sensible predefined set of parameters to logger.
showTimeB :: Bool -> LoggerConfig Source #
Setup lcShowTime
inside LoggerConfig
.