【发布时间】:2019-04-09 06:47:24
【问题描述】:
我们有一个 Java Wildfly Swarm 应用程序,我正在尝试将其配置为报告 Sentry 事件。
参考版本:
- Wildfly BOM:org.wildfly.bom:wildfly-javaee7:10.1.0.Final
- Swarm 插件:org.wildfly.swarm:wildfly-swarm-plugin:2017.12.1
我添加了以下配置:
<!-- pom.xml -->
<dependency>
<groupId>io.sentry</groupId>
<artifactId>sentry</artifactId>
<version>1.7.13</version>
</dependency>
# project-defautls.yml
swarm:
logging:
pattern-formatters:
LOG_FORMATTER:
pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p (%t) [%c.%M()] %s%e%n"
console-handlers:
CONSOLE:
named-formatter: LOG_FORMATTER
level: INFO
custom-handlers:
SENTRY:
module: com.sentry.jul
attribute-class: io.sentry.jul.SentryHandler
named-formatter: LOG_FORMATTER
level: INFO
root-logger:
handlers:
- CONSOLE
- SENTRY
<!-- module.xml -->
<module xmlns="urn:jboss:module:1.3" name="com.sentry.jul">
<resources>
<artifact name="io.sentry:sentry:1.7.13" />
</resources>
</module>
# Environment variable
SENTRY_DSN=***********
应用正常启动,但是下面的代码sn-p没有生成Sentry事件:
try {
throw new Exception("Testing...");
} catch(Exception e) {
logger.log(Level.SEVERE, "ERROR {0}", e.getMessage());
}
另一方面,当我通过code 配置 Sentry 并生成事件时,它工作正常:
Sentry.init(System.getenv("SENTRY_DSN"));
SentryClient sentry = SentryClientFactory.sentryClient();
try {
throw new Exception("Testing...");
} catch(Exception e) {
sentry.sendException(e);
}
出了什么问题?
【问题讨论】:
-
如果您在 DEBUG 级别登录(不是 Sentry,而是您的普通记录器),它是否说明了初始化 Sentry 或未找到附加程序的任何内容?
-
我想知道
com.sentry.jul模块是从哪里来的。io.sentry:sentry:1.7.13工件当然不会发送module.xml。 -
我在
src/main/resources中添加了com.sentry.jul作为jboss 模块。如果我们不提供模块,则应用程序启动失败。我将更新此问题以使其清楚。 -
不显示日志调试信息
-
我正在尝试在我的 Eclipse IDE 中调试
io.sentry.jul.SentryHandler的代码,看看发生了什么。我在the publish method 的第98、99、105 和107 行设置了四个断点。调试器只到达第一个。这很奇怪。
标签: java sentry wildfly-swarm