使用 log4j 的哨兵日志记录不起作用
Sentry logging using log4j not working
我正在编写一个使用 log4j 作为其日志记录工具的应用程序。我试图将其连接到 Sentry.io 跟踪,但每次尝试记录内容时都会出现以下异常:
2016-09-27 13:38:13 WARN EventBuilder$HostnameCache:625 - Localhost
hostname lookup failed, keeping the value 'unavailable'
java.util.concurrent.TimeoutException
at java.util.concurrent.FutureTask.get(FutureTask.java:205)
at com.getsentry.raven.event.EventBuilder$HostnameCache.updateCache(EventBuilder.java:620)
at com.getsentry.raven.event.EventBuilder$HostnameCache.getHostname(EventBuilder.java:606)
at com.getsentry.raven.event.EventBuilder.autoSetMissingValues(EventBuilder.java:90)
at com.getsentry.raven.event.EventBuilder.build(EventBuilder.java:360)
at com.getsentry.raven.log4j.SentryAppender.buildEvent(SentryAppender.java:252)
at com.getsentry.raven.log4j.SentryAppender.append(SentryAppender.java:174)
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
at org.apache.log4j.Category.callAppenders(Category.java:206)
at org.apache.log4j.Category.forcedLog(Category.java:391)
at org.apache.log4j.Category.fatal(Category.java:382)
at com.pikmy.core.PikmyServer.main(PikmyServer.java:21)
我已经按照此处文档中的描述设置了我的 log4j.xaml 文件:
https://sentry.io/pikmy-ltd/pikmy-api/settings/install/java-log4j/
向 Sentry 发送数据可能会出现什么问题?
更多信息:
log4j.xml 文件:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true" xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="sentry" class="com.getsentry.raven.log4j.SentryAppender">
<param name="dsn" value="SENTRY_URL_HERE"/>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="levelMin" value="WARN"/>
</filter>
</appender>
<root>
<priority value="info" />
<appender-ref ref="sentry" />
</root>
我用这样一个简单的异常测试了日志记录:
static Logger log = Logger.getLogger(PikmyServer.class.getName());
try {
throw new UnsupportedOperationException();
} catch (Exception ex) {
log.fatal("Test", ex);
}
Log4j.xml放在resources中,所以logger默认获取配置
显然,这是本地阻止 Internet 配置的问题。我将 Internet 资源从开放连接切换到私有连接,然后一切都神奇地开始工作了。
我正在编写一个使用 log4j 作为其日志记录工具的应用程序。我试图将其连接到 Sentry.io 跟踪,但每次尝试记录内容时都会出现以下异常:
2016-09-27 13:38:13 WARN EventBuilder$HostnameCache:625 - Localhost
hostname lookup failed, keeping the value 'unavailable'
java.util.concurrent.TimeoutException
at java.util.concurrent.FutureTask.get(FutureTask.java:205)
at com.getsentry.raven.event.EventBuilder$HostnameCache.updateCache(EventBuilder.java:620)
at com.getsentry.raven.event.EventBuilder$HostnameCache.getHostname(EventBuilder.java:606)
at com.getsentry.raven.event.EventBuilder.autoSetMissingValues(EventBuilder.java:90)
at com.getsentry.raven.event.EventBuilder.build(EventBuilder.java:360)
at com.getsentry.raven.log4j.SentryAppender.buildEvent(SentryAppender.java:252)
at com.getsentry.raven.log4j.SentryAppender.append(SentryAppender.java:174)
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
at org.apache.log4j.Category.callAppenders(Category.java:206)
at org.apache.log4j.Category.forcedLog(Category.java:391)
at org.apache.log4j.Category.fatal(Category.java:382)
at com.pikmy.core.PikmyServer.main(PikmyServer.java:21)
我已经按照此处文档中的描述设置了我的 log4j.xaml 文件: https://sentry.io/pikmy-ltd/pikmy-api/settings/install/java-log4j/
向 Sentry 发送数据可能会出现什么问题?
更多信息:
log4j.xml 文件:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true" xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="sentry" class="com.getsentry.raven.log4j.SentryAppender">
<param name="dsn" value="SENTRY_URL_HERE"/>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="levelMin" value="WARN"/>
</filter>
</appender>
<root>
<priority value="info" />
<appender-ref ref="sentry" />
</root>
我用这样一个简单的异常测试了日志记录:
static Logger log = Logger.getLogger(PikmyServer.class.getName());
try {
throw new UnsupportedOperationException();
} catch (Exception ex) {
log.fatal("Test", ex);
}
Log4j.xml放在resources中,所以logger默认获取配置
显然,这是本地阻止 Internet 配置的问题。我将 Internet 资源从开放连接切换到私有连接,然后一切都神奇地开始工作了。