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

标签 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>

当我的记录器初始化时,我收到以下异常>

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 工作的帮助将不胜感激。

最佳答案

出现此错误的原因是您的插件中没有使用 @PluginFactory 注释的静态方法,或者调用该方法时出现问题。查看代码,您应该已经获得了堆栈跟踪以及“无法调用”方法。您使用的 Log4j 版本是什么?

我建议将 status="debug"添加到配置元素,并查看是否有任何调试消息有助于识别问题。如果这没有帮助,请提供您的插件的源代码或至少提供工厂方法。

关于java - 配置 Sentry 以使用 log4j2 进行日志记录时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35129645/

相关文章:

java - Android白痴校对用户输入

java - 如何在摘除 Amqp/RabbitMQ 队列(Spring AMQP)之前执行 'check'

performance - 为什么/太多日志会影响我的应用程序的性能?

Windows 批处理脚本 : Showing date, 时间和日志中的所有输出

java - : "AppXray Indexing..." 期间发生内部错误

java - 在android中比较两个字符串

java - 在 amazon-sqs-java-messaging-lib 中,numberOfMessagesToPrefetch 0 或 1 有什么区别?

java - 每次程序重复时,我的 Java 记录器都会创建一个新的日志文件

java - 使用Docker在Weblogic上部署EAR的正确方法是什么

java - Weblogic Server 11g 是否有 JDK 1.7.0.28?