如何只标记一个哨兵事件?

Pio*_*ski 3 java sentry

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

使用以下代码,我添加了一个标签和报告事件:

Sentry.getContext().addTag("my_tag", "yes");
Sentry.capture("event happened");
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

小智 6

sentry-java1.5.2 开始(刚刚发布以解决此问题),您可以Context在临时标签/额外数据后使用新方法进行清理:

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

Sentry.getContext().removeExtra("my_extra");
Sentry.getContext().clearExtra();
Run Code Online (Sandbox Code Playgroud)