37 releases (17 breaking)

new 0.36.0 Jan 7, 2025
0.35.0 Nov 29, 2024
0.34.0 Jun 5, 2024
0.32.2 Jan 30, 2024
0.19.0 Jun 18, 2020

#737 in Debugging

Download history 7714/week @ 2024-09-22 7264/week @ 2024-09-29 9605/week @ 2024-10-06 7073/week @ 2024-10-13 8077/week @ 2024-10-20 8564/week @ 2024-10-27 9429/week @ 2024-11-03 11262/week @ 2024-11-10 9571/week @ 2024-11-17 7125/week @ 2024-11-24 8533/week @ 2024-12-01 8819/week @ 2024-12-08 9286/week @ 2024-12-15 3923/week @ 2024-12-22 2884/week @ 2024-12-29 6964/week @ 2025-01-05

23,494 downloads per month
Used in 15 crates (3 directly)

Apache-2.0

235KB
4.5K SLoC

Sentry

Sentry Rust SDK: sentry-log

Adds support for automatic Breadcrumb and Event capturing from logs.

The log crate is supported in two ways. First, logs can be captured as breadcrumbs for later. Secondly, error logs can be captured as events to Sentry. By default anything above Info is recorded as a breadcrumb and anything above Error is captured as error event.

Examples

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");

Or one might also set an explicit filter, to customize how to treat log records:

use sentry_log::LogFilter;

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

Resources

License: Apache-2.0

Dependencies

~4–5.5MB
~99K SLoC