将 sentry 与 log4j 集成时出错

Error integrating sentry with log4j

我正在尝试按照文档进行操作,这是我的配置:

dependencies {
  // other dependencies here.
  compile("log4j:log4j:1.2.7")
  compile("io.sentry:sentry-log4j:1.2.2")
}

我的 log4j.properties 文件:

# Enable the Console and Sentry appenders
log4j.rootLogger=DEBUG, Console, Sentry

# Configure the Console appender
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# Configure the Sentry appender, overriding the logging threshold to the WARN level
log4j.appender.Sentry=io.sentry.log4j.SentryAppender
log4j.appender.Sentry.threshold=WARN

当 运行 我的应用程序时,我收到此错误:

java.lang.NoSuchMethodError: org.apache.log4j.spi.LoggingEvent.getTimeStamp()J
        at io.sentry.log4j.SentryAppender.createEventBuilder(SentryAppender.java:101) ~[sentry-log4j-1.2.2.jar:na]
        at io.sentry.log4j.SentryAppender.append(SentryAppender.java:84) ~[sentry-log4j-1.2.2.jar:na]
        at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:221) ~[log4j-1.2.7.jar:1.2.7]
        at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:57) ~[log4j-1.2.7.jar:na]
        at org.apache.log4j.Category.callAppenders(Category.java:187) ~[log4j-1.2.7.jar:1.2.7]
        at org.apache.log4j.Category.forcedLog(Category.java:372) ~[log4j-1.2.7.jar:1.2.7]
        at org.apache.log4j.Category.error(Category.java:286) ~[log4j-1.2.7.jar:1.2.7]

我做错了什么?我只是按照此处的文档操作:https://docs.sentry.io/clients/java/modules/log4j/

看起来您将自己固定在一个对 sentry-java 而言太旧的 log4j 版本上,您可以尝试删除您的 log4j 依赖项(并让 sentry-java 接管)或者升级了吗?

sentry-java 在撰写本文时正在使用 1.2.17https://github.com/getsentry/sentry-java/blob/master/sentry-log4j/pom.xml#L18