NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #2029 most downloaded on crates.io
An easy-to-configure and flexible logger that writes logs to stderr or stdout and/or to files. It allows custom logline formats, and it allows changing the log specification at runtime. It also allows defining additional log streams, e.g. for alert or security messages.
Last release 2 months ago
07 Aug 2026
Release timing varies
gaps range from 8 days to 4 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
8 versions withdrawn
withdrawn after publishing
11 years old
152 releases · first in 2015
Get rid of the unneccessary String allocation we've been carrying with us since ages. This implies changing the signature of the format functions.
Get rid of the unneccessary String allocation we've been carrying with us since ages. This implies changing the signature of the format functions.
In case you provide your own format function, you'll need to adapt it to the new signature. Luckily, the effort is low.
As an example, here is how the definition of the opt_format function changed:
- pub fn opt_format(record: &Record) -> String {
- format!(
---
+ pub fn opt_format(w: &mut io::Write, record: &Record) -> Result<(), io::Error> {
+ write!(
+ w,
Similarly, if you're using the advanced feature of providing your own implementation of LogWriter, you need to adapt it. The change again is trivial, and should even slightly simplify your code (you can return io errors and don't have to catch them yourself).
The docu generation on docs.rs is now configured to considers all features, we thus
expose Logger.start_with_specfile() only if the specfile feature is used. So we can revert the
change done with 0.8.1.
Add flexi_logger to category development-tools::debugging
One column per quarter.
Add flexi_logger to category development-tools::debugging
Make append() also work for rotating log files
Make append() also work for rotating log files
Add option to append to existing log files, rather than always truncating them
Add option to append to existing log files, rather than always truncating them
Expose Logger.start_with_specfile() always ...and not only if the feature "specfile" is used - otherwise it does not appear in the auto-generated docu
Expose Logger.start_with_specfile() always
...and not only if the feature "specfile" is used - otherwise it does not appear
in the auto-generated docu (because it does not use --allfeatures)
Add a feature that allows to specify the LogSpecification via a file that can be edited while the program is running _ Remove/hide deprecated APIs
Add specfile feature
Bugfix: do not create empty files when used in env_logger style. Update docu and the description in cargo.toml
Bugfix: do not create empty files when used in env_logger style. Update docu and the description in cargo.toml
move deprecated structs to separate package
Add support for multiple log output streams
Nothing published for this version
Add Logger::try_with_env_or_str()
Add Logger::try_with_env_or_str()
Add ReconfigurationHandle::parse_new_spec()
Add ReconfigurationHandle::parse_new_spec()
Fix README.md
Fix README.md
Publish version based on log 0.4
Publish version based on log 0.4
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Use builder pattern for LogSpecification and Logger
Use builder pattern for LogSpecification and Logger
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →