log-warper alternatives and similar packages
Based on the "Interfaces" category
Do you think we are missing an alternative of log-warper or a related project?
log-warper is a high level and featureful logging library with monadic interface.
You can jump right into introduction tutorial
to see how to write logging with
Here is the list of features
- Hierarchical logger names.
Logger names (tags for loggers) form hierarchy. It means, that
(also known as
rootLoggerName) is a parent of logger with name
"node" which is
a parent of logger with name
"node.communication". So, logger name comprises dot-separated components.
This means that if some logger name doesn't have some settings (like severity or output file) it takes
its settings from the closest parent, containing this settings.
- Logging initialization from
Whole logging configuration can be specifed in a single
See example here.
- Monadic logging interface.
mtl-style type classes to provide monadic interfaces for logging.
StateTbased pure logging.
See this tutorial
on pure logging with
Different severity levels of messages with the ability to configure
Output is colored :star:
When you log messages, you see time of this logging message, logger name, severity and
Message formatting is configurable. Color or logged message tag depends on
Severity for this message.
- Flexible and easy creation of
LoggerConfigusing monoidal builders and lenses.
.yaml configuration is not enough for you, you can use
lens-based EDSL to create configurations.
LoggerConfig also implements instances for
Monoid so you can combine your configurations
from different sources (CLI and
.yaml for example).
- Logger rotation.
log-warper supports logger rotation. Yes, there exist
logrotate and similar tools.
But it's not easy to configure cross-platform (Windows, Linux, OSX) logging rotation with external tools.
- Ability to acquire last
Nmegabytes of logs from in-memory cache.
In case you want to analyze logging messages you can take them from in-memory cache.
Reference guide (FAQ)
Here you can find hints and tips how to achieve desired behavior with
- How can I redirect all output to stderr?
termSeveritiesErr: Allon top-level of your
- How can I disable only Error messages for my logger?
- How can I show
ThreadIdinside log message?
showTid: trueto your
- How to easily disable terminal output?
- Put these lines into
termSeveritiesOut :  termSeveritiesErr : 
- How can I enable messages with severity
severity: Info+inside tree node of your logger settings.
- How can I log inside functions like
liftLogIOfunction. Its Haddock contains nice usage example.
- How can I easily log exceptions without throwing them?
- Use functions from
This project uses
universumas default prelude
*Note that all licence references and agreements mentioned in the log-warper README section above are relevant to that project's source code only.