[][src]Crate 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 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,
});

Structs

NoopLogger

A noop log::Log that just ignores everything.

SentryLogger

Provides a dispatching logger.

Enums

LogFilter

The action that Sentry should perform for a log::Metadata.

RecordMapping

The type of Data Sentry should ingest for a log::Record.

Functions

breadcrumb_from_record

Creates a [Breadcrumb] from a given log::Record.

convert_log_level

Converts a log::Level to a Sentry [Level]

default_filter

The default log filter.

event_from_record

Creates an [Event] from a given log::Record.

exception_from_record

Creates an exception [Event] from a given log::Record.