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 在 压缩 分类中
每月110 次下载
21KB
378 行
file-rotator
安装
您可以直接在 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