1use sentry_core::protocol::Event;
2use sentry_core::{Breadcrumb, Level};
3
4pub fn convert_log_level(level: log::Level) -> Level {
6 match level {
7 log::Level::Error => Level::Error,
8 log::Level::Warn => Level::Warning,
9 log::Level::Info => Level::Info,
10 log::Level::Debug | log::Level::Trace => Level::Debug,
11 }
12}
13
14pub fn breadcrumb_from_record(record: &log::Record<'_>) -> Breadcrumb {
16 Breadcrumb {
17 ty: "log".into(),
18 level: convert_log_level(record.level()),
19 category: Some(record.target().into()),
20 message: Some(record.args().to_string()),
21 ..Default::default()
22 }
23}
24
25pub fn event_from_record(record: &log::Record<'_>) -> Event<'static> {
27 Event {
28 logger: Some(record.target().into()),
29 level: convert_log_level(record.level()),
30 message: Some(record.args().to_string()),
31 ..Default::default()
32 }
33}
34
35pub fn exception_from_record(record: &log::Record<'_>) -> Event<'static> {
37 event_from_record(record)
42}