#rolling #logging #tracing #minutes

tracing-rolling-file

具有自定义滚动条件的滚动文件追加程序

2 个版本

0.1.2 2023 年 9 月 26 日
0.1.1 2022 年 8 月 16 日
0.1.0 2022 年 8 月 16 日

#307 in 调试

Download history 391/week @ 2024-03-15 667/week @ 2024-03-22 418/week @ 2024-03-29 173/week @ 2024-04-05 322/week @ 2024-04-12 354/week @ 2024-04-19 295/week @ 2024-04-26 177/week @ 2024-05-03 290/week @ 2024-05-10 184/week @ 2024-05-17 326/week @ 2024-05-24 319/week @ 2024-05-31 242/week @ 2024-06-07 292/week @ 2024-06-14 275/week @ 2024-06-21 150/week @ 2024-06-28

1,018 每月下载量

MIT/Apache

23KB
402

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

基于 rolling-file 的具有自定义滚动条件的滚动文件追加程序。包括对日期/时间(每日、每小时、每分钟)和/或大小的内置支持。

遵循 Debian 风格的日志文件命名约定,使用 basename, basename.1, ..., basename.N,其中 N 是允许的历史日志文件的最大数量。

这可以与 tracing 工具包和 tracing_appender::non_blocking::NonBlocking 结合使用 -- 用作 tracing_appender::rolling::RollingFileAppender 的替代方案。

示例

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

开发

必须通过最新的稳定版 clippy,使用 nightly rustfmt 格式化,并通过单元测试

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

许可证

根据 MIT 许可证或 Apache 2.0 许可证的条款双许可。

依赖项

~1MB
~18K SLoC