addBreadcrumb method
Adds a breadcrumb to the breadcrumbs queue
Implementation
void addBreadcrumb(Breadcrumb breadcrumb, {dynamic hint}) {
// bail out if maxBreadcrumbs is zero
if (_options.maxBreadcrumbs == 0) {
return;
}
Breadcrumb? processedBreadcrumb = breadcrumb;
// run before breadcrumb callback if set
if (_options.beforeBreadcrumb != null) {
processedBreadcrumb = _options.beforeBreadcrumb!(
processedBreadcrumb,
hint: hint,
);
if (processedBreadcrumb == null) {
_options.logger(
SentryLevel.info, 'Breadcrumb was dropped by beforeBreadcrumb');
return;
}
}
// remove first item if list is full
if (_breadcrumbs.length >= _options.maxBreadcrumbs &&
_breadcrumbs.isNotEmpty) {
_breadcrumbs.removeFirst();
}
_breadcrumbs.add(breadcrumb);
}