2017-07-07 62 views
0

我試圖按照文檔,這裏是我的配置:誤差積分哨兵與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/

回答

0

它看起來像你寄託自己版本的log4j的是太老了sentry-java,可你要麼嘗試刪除您的log4j的相關性(並讓sentry-java一個接管)或升級它?

sentry-java在寫這篇文章的時候使用1.2.17https://github.com/getsentry/sentry-java/blob/master/sentry-log4j/pom.xml#L18

+0

好吧讓我試試。 :D謝謝 – jaydoe

+0

你是對的,我升級了log4j,它工作。非常感謝。我希望他們在文檔的某處提到這一點。 – jaydoe