如何只标记一个 Sentry 事件?

How can I tag just one Sentry event?

我想用一些指定的标签报告哨兵事件,但是我不想在未来的事件中包含这个标签。

使用以下代码,我正在添加标签和报告事件:

Sentry.getContext().addTag("my_tag", "yes");
Sentry.capture("event happened");

然后,过了一会儿,另一个事件发生了:

Sentry.capture("another event happened"); // tag is included, but I don't want it

我已尝试通过 Sentry.clearContext() 删除标签,但它会清除所有信息,包括面包屑。

我也尝试过 Sentry.getContext().getTags().remove("my_tag"); 但是,由于标签保留在 UnmodifiableMap 中,此操作只会引发异常。

sentry-java 1.5.2 开始(刚刚发布以修复此问题)您可以在 Context 上使用新方法在临时 tags/extra 数据之后清理:

Sentry.getContext().removeTag("my_tag");
Sentry.getContext().clearTags();

Sentry.getContext().removeExtra("my_extra");
Sentry.getContext().clearExtra();