40个版本 (5个稳定版)
1.3.0 | 2024年2月10日 |
---|---|
1.2.0 | 2022年10月11日 |
1.1.1 | 2022年4月22日 |
1.0.0 | 2020年12月16日 |
0.3.1 | 2015年3月26日 |
#6 in 压缩
每月323,895次下载
在 591 个crate中使用 (324 个直接使用)
230KB
5.5K SLoC
log4rs
log4rs是一个高度可配置的日志框架,它模仿了Java的Logback和log4j库。
警告
如果您在配置中使用文件轮转,存在已知的重大性能问题,请注意!默认情况下启用了gzip
功能,并且在滚动文件时将自动压缩日志存档。当日志存档很大时,这是一个问题,因为压缩是在主线程中进行的,这会在压缩完成之前阻止进程。请注意,从1.0
版本开始,将删除默认功能中的gzip
功能。
减轻这种影响的方法如下。
- 使用
background_rotation
功能,该功能会启动一个操作系统线程来执行压缩。 - 使用
--no-default-features
禁用gzip
功能。 - 确保存档足够小,以便压缩时间是可以接受的。
有关更多信息,请参阅添加了background_rotation
的PR:background_rotation
。
快速入门
log4rs.yaml
refresh_rate: 30 seconds
appenders:
stdout:
kind: console
requests:
kind: file
path: "log/requests.log"
encoder:
pattern: "{d} - {m}{n}"
root:
level: warn
appenders:
- stdout
loggers:
app::backend::db:
level: info
app::requests:
level: info
appenders:
- requests
additive: false
lib.rs
use log::{error, info, warn};
use log4rs;
fn main() {
log4rs::init_file("config/log4rs.yaml", Default::default()).unwrap();
info!("booting up");
// ...
}
Rust版本要求
1.69
为开发构建
- 运行测试:
cargo test --all-features
- 使用
cross
运行Windows的测试:cross test --target x86_64-pc-windows-gnu
- 运行所有单个特征的测试:
./test.sh
- 使用
cross
运行Windows的所有单个特征的测试:./test.sh win
许可证
许可如下
- Apache License, Version 2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- 麻省理工学院许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
由你选择。
贡献
除非你明确声明,否则你有意提交给作品并包含在内的任何贡献,将按照上述双重许可方式授权,不附加任何额外条款或条件。
依赖关系
~0.6–7.5MB
~50K SLoC