配置Sentry以使用log4j2进行日志记录时出错

时间:2016-02-01 11:41:23

标签: java logging weblogic log4j2 sentry

我有以下日志记录xml配置

<Configuration>
  <Appenders>
    <Console name="CONSOLE" target="SYSTEM_OUT">
        <PatternLayout pattern="{some pattern}"/>
    </Console>
    <Raven name="Sentry">
        <dsn>
            https://{public key}@app.getsentry.com/65532?options
        </dsn>
        <tags>
            tag1:value1,tag2:value2
        </tags>
    </Raven>
    <Async name="ASYNC">
        <AppenderRef ref="CONSOLE" level="${sys:console_log_level}"/>
        <AppenderRef ref="Sentry"/>
    </Async>
  </Appenders>

  <Root>
    <AppenderRef ref="ASYNC"/>
  </Root>
</Configuration>

当我的记录器初始化时,我得到以下异常&gt;

ERROR Unable to invoke factory method in class class net.kencochrane.raven.log4j2.SentryAppender for element Raven.> 
ERROR appenders Appenders has no parameter that matches element Raven> 
ERROR No appender named Sentry was configured> 

我在weblogic上运行我的应用程序。

任何有关如何让Sentry工作的帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

发生此错误是因为您要么在插件中没有使用@PluginFactory注释的静态方法,要么调用该方法时出现问题。查看代码,你应该得到一个堆栈跟踪以及&#34;无法调用&#34;方法。您使用的是什么Log4j版本?

我建议添加status =&#34; debug&#34;到Configuration元素,看看是否有任何调试消息有助于识别问题。如果这没有帮助,请提供插件的来源或至少是工厂方法。