在rust中,默认的trace策略是将日志输出到标准输出并且没有大小的限制。
但是在实际的生产环境中,我们需要将日志输出到文件中,并且限制文件的大小,每天输出一个新的文件。
查询了trace的文档,发现只能对输出的周期进行控制,不能对输出的大小进行控制。
tracing_appender rolling
use tracing_appender::rolling::Rotation;
let rotation = tracing_appender::rolling::Rotation::DAILY;
let file_appender = BasicRollingFileAppender::new(
"/var/log/myprogram",
RollingConditionBasic::new().daily(),
9
).unwrap();
let (non_blocking_appender, _guard) = non_blocking(file_appender);