Search code examples
javalog4jsentry

Error integrating sentry with log4j


I am trying to follow the documentation and here is my config:

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

My log4j.properties file:

# 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

When running my app, I am getting this error:

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]

What am I doing wrong? I just followed the documentation here: https://docs.sentry.io/clients/java/modules/log4j/


Solution

  • It looks like you are pinning yourself to a version of log4j that is too old for sentry-java, can you either try removing your log4j dependency (and letting the sentry-java one take over) or upgrading it?

    sentry-java is using 1.2.17 at the time of this writing: https://github.com/getsentry/sentry-java/blob/master/sentry-log4j/pom.xml#L18