0.39.0
Logs
Support for Sentry structured logs has been added to the SDK.
- To set up logs, enable the
logs
feature of thesentry
crate and setenable_logs
totrue
in your client options. - Then, use the
logger_trace!
,logger_debug!
,logger_info!
,logger_warn!
,logger_error!
andlogger_fatal!
macros to capture logs. - To filter or update logs before they are sent, you can use the
before_send_log
client option. - Please note that breaking changes could occur until the API is finalized.
Features
- feat(logs): add log protocol types (#821) by @lcian
- feat(logs): add ability to capture and send logs (#823) by @lcian & @Swatinem
- feat(logs): add macro-based API (#827) by @lcian & @szokeasaurusrex
- feat(logs): send logs in batches (#831) by @lcian
Behavioral changes
- refactor(core): remove support for traceparent (#807) by @lcian
- The SDK doesn't support parsing the
traceparent
distributed tracing header anymore. This means thatcontinue_from_headers
(and, as a consequence,parse_headers
) will only take into account thesentry-trace
header from now on. - If you need to continue traces based on the information in the
traceparent
header, please parse the information from it and then use the API to manually create the desired transaction.
- The SDK doesn't support parsing the
- feat(core): implement Tracing without Performance (#811) by @lcian
- The SDK now implements Tracing without Performance, which makes it so that each
Scope
is associated with an object holding some tracing information. - This information is used as a fallback when capturing an event with tracing disabled or otherwise no ongoing span, to still allow related events to be linked by a trace.
- A new API
Scope::iter_trace_propagation_headers
has been provided that will use the fallback tracing information if there is no currentSpan
on theScope
.
- The SDK now implements Tracing without Performance, which makes it so that each