0.39.0
Logs
Support for Sentry structured logs has been added to the SDK.
- To set up logs, enable the
logsfeature of thesentrycrate and setenable_logstotruein 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_logclient 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
traceparentdistributed tracing header anymore. This means thatcontinue_from_headers(and, as a consequence,parse_headers) will only take into account thesentry-traceheader from now on. - If you need to continue traces based on the information in the
traceparentheader, 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
Scopeis 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_headershas been provided that will use the fallback tracing information if there is no currentSpanon theScope.
- The SDK now implements Tracing without Performance, which makes it so that each