Crates.io | ckb-sentry |
lib.rs | ckb-sentry |
version | 0.21.0 |
source | src |
created_at | 2020-12-16 05:30:25.739374 |
updated_at | 2020-12-16 05:30:25.739374 |
description | Sentry (getsentry.com) client for rust ;) |
homepage | |
repository | https://github.com/nervosnetwork/sentry-rust |
max_upload_size | |
id | 323493 |
size | 142,973 |
This crate provides support for logging events and errors / panics to the Sentry error logging service. It integrates with the standard panic system in Rust as well as a few popular error handling setups.
The most convenient way to use this library is the sentry::init
function,
which starts a sentry client with a default set of integrations, and binds
it to the current Hub
.
The sentry::init
function returns a guard that when dropped will flush Events that were not
yet sent to the sentry service. It has a two second deadline for this so shutdown of
applications might slightly delay as a result of this. Keep the guard around or sending events
will not work.
let _guard = sentry::init("https://key@sentry.io/42");
sentry::capture_message("Hello World!", sentry::Level::Info);
// when the guard goes out of scope here, the client will wait up to two
// seconds to send remaining events to the service.
What makes this crate useful are the various integrations that exist. Some of them are enabled by default, some uncommon ones or for deprecated parts of the ecosystem a feature flag needs to be enabled. For the available integrations and how to use them see integrations and apply_defaults.
This crate comes fully featured. If the goal is to instrument libraries for usage
with sentry, or to extend sentry with a custom Integration
or a Transport
,
one should use the sentry-core
crate instead.
Functionality of the crate can be turned on and off by feature flags. This is the current list of feature flags:
Default features:
backtrace
: Enables backtrace support.contexts
: Enables capturing device, os, and rust contexts.panic
: Enables support for capturing panics.transport
: Enables the default transport, which is currently reqwest
with native-tls
.Additional features:
anyhow
: Enables support for the anyhow
crate.debug-images
: Attaches a list of loaded libraries to events (currently only supported on unix).error-chain
: Enables support for the error-chain
crate.failure
: Enables support for the failure
crate.log
: Enables support for the log
crate.env_logger
: Enables support for the log
crate with additional env_logger
support.slog
: Enables support for the slog
crate.test
: Enables testing support.debug-logs
: Uses the log
crate for internal logging.reqwest
: Enables the reqwest
transport, which is currently the default.curl
: Enables the curl transport.surf
: Enables the surf transport.native-tls
: Uses the native-tls
crate, which is currently the default.
This only has an effect on the reqwest
transport.rustls
: Enables the rustls
support of the reqwest
transport.
Please note that native-tls
is a default feature, and one needs to use
default-features = false
to completely disable building native-tls
dependencies.License: Apache-2.0