fern
Simple, efficient logging for Rust.
Fern
Logging configuration is infinitely branched, like a fern: formatting, filters, and output are all controlled for any increasingly specific set of parameters. Fern provides a builder-based configuration and implementation for rust's standard log
crate.
//! With fern, we can:
// Configure logger at runtime
new
// Perform allocation-free log formatting
.format
// Add blanket level filter -
.level
// - and per-namespace overrides
.level_for
// Output to stdout, files, and other Dispatch configurations
.chain
.chain
// Apply globally
.apply?;
// and log using log crate macros!
info!;
More contrived, and useful, examples at the api docs
and the example command line program.
Project Status
The fern
project is primarily maintained by @daboross on github. It's a hobby project, but one I aim to keep at a high quality.
Contributing
As this is a hobby project, contributions are very welcome!
The easiest way for you to contribute right now is to use fern
in your application, and see where it's lacking. The current library has a solid base, but it lacks features, and I may not anticipate your use cases.
If you have a use case fern
does not cover, please file an issue. This is immensely useful to me, to anyone wanting to contribute to the project, and to you as well if the feature is implemented.
If you're interested in helping fix an existing issue, or an issue you just filed, help is always welcome.
See CONTRIBUTING for technical information on contrbuting.