This package provides a basic hierarchical logging system that is similar to “logging” in Python.
Why another logging package?
When dealing with multple nested modules, the experience with the exising Julia logging.jl package isn’t very nice.
If I want to keep a logger hierarchy, I have to explicitly pass in a parent logger which might not exist yet.
If I want to change the current logging level, I have to find all descendant loggers and explicitly set them.
The logger hierarchy is defined by the logger name, which is a dot-separated string (e.g. “a.b”).
This means you can simply use get_logger(current_module()) to maintain a hierarchy.
All loggers inherits their ancestors settings up to root if not explicitly set.
This means you only need to set the config of the root logger in most of the time.