#rolling #logging-tracing #logging #tracing

tracing-rolling-file

A rolling file appender with customizable rolling conditions

2 releases

0.1.2 Sep 26, 2023
0.1.1 Aug 16, 2022
0.1.0 Aug 16, 2022

#459 in Debugging

Download history 202/week @ 2024-06-17 283/week @ 2024-06-24 189/week @ 2024-07-01 477/week @ 2024-07-08 193/week @ 2024-07-15 311/week @ 2024-07-22 211/week @ 2024-07-29 86/week @ 2024-08-05 136/week @ 2024-08-12 245/week @ 2024-08-19 330/week @ 2024-08-26 397/week @ 2024-09-02 831/week @ 2024-09-09 70/week @ 2024-09-16 384/week @ 2024-09-23 239/week @ 2024-09-30

1,526 downloads per month

MIT/Apache

23KB
402 lines

tracing-rolling-file

tracing-rolling-file on GitHub Actions tracing-rolling-file on crates.io tracing-rolling-file on docs.rs GitHub: cavivie/tracing-rolling-file license: MIT or Apache-2.0 minimum rustc: 1.42

A rolling file appender with customizable rolling conditions, based on rolling-file. Includes built-in support for rolling conditions on date/time (daily, hourly, every minute) and/or size.

Follows a Debian-style naming convention for logfiles, using basename, basename.1, ..., basename.N where N is the maximum number of allowed historical logfiles.

This is useful to combine with the tracing crate and tracing_appender::non_blocking::NonBlocking -- use it as an alternative to tracing_appender::rolling::RollingFileAppender.

Examples

use tracing_rolling_file::*;
let file_appender = RollingFileAppenderBase::new(
    "/var/log/myprogram",
    RollingConditionBase::new().daily(),
    9
).unwrap();

Development

Must pass latest stable clippy, be formatted with nightly rustfmt, and pass unit tests:

cargo +nightly fmt
cargo clippy --all-targets
cargo test

License

Dual-licensed under the terms of either the MIT license or the Apache 2.0 license.

Dependencies

~1MB
~18K SLoC