11个不稳定版本 (4个重大更改)

0.6.2 2023年5月30日
0.6.1 2023年5月30日
0.5.1 2023年5月29日
0.4.1 2020年6月5日
0.1.1 2020年6月3日

#288压缩 分类中

Download history 3/week @ 2024-03-15 51/week @ 2024-03-29 13/week @ 2024-04-05

每月110 次下载

MIT 许可证

21KB
378

file-rotator

docs.rs badge

安装

您可以直接在 Cargo.toml 中添加它,但我最喜欢的办法是通过 cargo-edit

$ cargo add file-rotator

使用方法

有关使用说明以及了解“轮换文件”的概念,请参阅 docs.rs上的文档

原因

我创建了这个crate,以便在我的其他项目 redditbg.rs 中使用,这样我就可以在不担心耗尽磁盘所有字节的条件下进行日志记录


lib.rs:

一个简单的crate,允许通过模拟单个 std::io::Write 实现者来轻松使用轮换日志文件

好吧,当然,那么什么是轮换日志文件呢?

好吧,假设我们正在记录大量的日志,并且过了一段时间后,我们用日志用完了所有磁盘空间。我们不想这样,没有人想这样,那么我们如何解决这个问题呢?

我们将引入定期更改我们记录日志的文件的概念,换句话说,我们将轮换我们的日志文件,这样我们就不会生成太多的存储日志。

旋转中涉及的一个概念是同时存在的日志文件的数量限制。

示例

为了演示上面的内容,以下是如何创建一个每天轮换的文件,将最多一周的日志存储在 /logs

RotatingFile::new(
    "loggylog",
    "/logs",
    RotationPeriod::Interval(Duration::from_secs(60 * 60 * 24)),
    NonZeroUsize::new(7).unwrap(),
    Compression::None,
);

依赖

~3.5MB
~62K SLoC