我想写信给苹果的统一日志macOS从 rust 。
我发现了oslog板条箱,这似乎是有希望的,我有以下代码到目前为止:
#[macro_use]
extern crate log;
use oslog::OsLogger;
fn main() {
//env_logger::init();
OsLogger::new("com.rust")
//.level_filter(LevelFilter::Trace)
.init()
.unwrap();
info!("starting up");
}
如果我使用带注解的env_logger
,我可以看到日志显示在终端中,但使用OSLogger -在macOS上的www.example.com中没有显示任何内容Console.app,或者如果我像这样流式传输日志:
log stream --predicate 'subsystem == "com.rust"'
这里有人做过这个吗?也许我错过了一些明显的东西,还没有和铁 rust 打交道的经验。
1条答案
按热度按时间nbysray51#
好的,所以有2个部分来解决这个问题,我在下面发布了完整的代码。
首先,你必须设置一个环境变量,在运行程序时启用日志记录。该值设置要应用的日志过滤级别:
其次,在通过
level_filter(...)
创建oslog facade时,必须设置匹配的日志级别:这将写入统一日志,并可通过macOS上的www.example.com进行观察Console.app