35 个版本

0.34.0 2024 年 6 月 5 日
0.32.3 2024 年 4 月 16 日
0.32.2 2024 年 1 月 30 日
0.32.1 2023 年 12 月 18 日
0.19.0 2020 年 6 月 18 日

#583 in 调试

Download history 8786/week @ 2024-04-21 7253/week @ 2024-04-28 7199/week @ 2024-05-05 7574/week @ 2024-05-12 9307/week @ 2024-05-19 7774/week @ 2024-05-26 8247/week @ 2024-06-02 9833/week @ 2024-06-09 8975/week @ 2024-06-16 6839/week @ 2024-06-23 6621/week @ 2024-06-30 9970/week @ 2024-07-07 8669/week @ 2024-07-14 8213/week @ 2024-07-21 9743/week @ 2024-07-28 8125/week @ 2024-08-04

34,917 每月下载量
12 个 crate 中使用 (3 个直接使用)

Apache-2.0

230KB
4K SLoC

Sentry

Sentry Rust SDK:sentry-log

支持从日志自动捕获 Breadcrumb 和 Event。

log crate 支持两种方式。首先,日志可以被捕获为 breadcrumb 以供后续使用。其次,错误日志可以被捕获为事件发送到 Sentry。默认情况下,所有高于 Info 级别的日志都会被记录为 breadcrumb,所有高于 Error 级别的日志都会被捕获为错误事件。

示例

let mut log_builder = pretty_env_logger::formatted_builder();
log_builder.parse_filters("info");
let logger = sentry_log::SentryLogger::with_dest(log_builder.build());

log::set_boxed_logger(Box::new(logger)).unwrap();
log::set_max_level(log::LevelFilter::Info);

let _sentry = sentry::init(());

log::info!("Generates a breadcrumb");
log::error!("Generates an event");

或者也可以设置一个显式的过滤器,以自定义如何处理日志记录

use sentry_log::LogFilter;

let logger = sentry_log::SentryLogger::new().filter(|md| match md.level() {
    log::Level::Error => LogFilter::Event,
    _ => LogFilter::Ignore,
});

资源

许可证:Apache-2.0

依赖

~3–4.5MB
~113K SLoC