java - 使用 log4j 的 Sentry 日志记录不起作用

标签 java logging log4j sentry

我正在编写一个使用 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放置在资源中,因此logger默认获取配置。

最佳答案

显然,这是互联网配置被本地阻止的问题。我将互联网源从开放连接切换为私有(private)连接,一切都神奇地开始工作。

关于java - 使用 log4j 的 Sentry 日志记录不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39723864/

相关文章:

Java varargs - 为什么这些语法 Not Acceptable ?

java - Apache CXF AtomPullServer

java - 如何让JSP页面扩展抽象的HttpServlet

java - native 库中减少键/增加键支持

c# - Log4Net:以 2 字节语言(日语、中文等)登录

python-3.x - Airflow {logging_mixin.py :84} WARNING - --- Logging error --

java - 如何使 CXF 日志记录功能与 SOAP 消息一起使用?

用于单独程序参数的 Java 单独日志文件

java - 我如何确保 git 存储库中的所有 java 项目都具有最新或所需版本的 maven 依赖项?

javascript - 如何以正确的方式获取广告的JavaScript错误? (堆栈跟踪)