【问题标题】:JBoss JUL Sentry integrationJBoss JUL Sentry 集成
【发布时间】:2016-08-29 16:39:12
【问题描述】:

在 JBoss 中将哨兵与 JUL 集成时,我收到一条错误消息:

“logging.properties”中的配置文件似乎是 J.U.L.配置文件。日志管理器不允许这种类型的配置文件。 我按照https://github.com/getsentry/raven-java/tree/master/raven中建议的步骤进行操作

这个问题的原因可能是什么? 我的工作体现在https://github.com/gsvishnugs/wildfly-jul-raven

【问题讨论】:

    标签: java jboss wildfly sentry


    【解决方案1】:

    使用以下 jboss-cli 命令启动哨兵连接:

    添加新模块

    module add --name=com.getsentry.raven --resources=/path/to/jars/raven-7.6.0.jar,/path/to/jars/jackson-core-2.7.3.jar,/path/to/jars/slf4j-api-1.7.21.jar,/path/to/jars/slf4j-jdk14-1.7.9.jar --resource-delimiter=, --dependencies=javax.api    
    
           
    

    添加自定义处理程序

    /subsystem=logging/custom-handler=sentry:add(name=sentry,class=com.getsentry.raven.jul.SentryHandler,module=com.getsentry.raven,enabled=true,formatter=PATTERN,level=WARN,properties=[("dsn" => "https://pub_key:sec_key@app.getsentry.com/app_id")])
    

    添加到根记录器

    /subsystem=logging/root-logger=ROOT:add-handler(name=sentry)
    

    建议下载上述新模块命令中提到的依赖jar。

    【讨论】:

      【解决方案2】:

      虽然 WildFly 中使用的 JBoss 日志管理器确实扩展了 JUL,但它不使用 JUL 配置文件。您需要为 JBoss 日志管理器使用不同的属性。虽然不是官方文档,但我确实有一个 gist 来解释所需的格式。

      你的文件需要看起来像这样。

      logger.handlers=SENTRY_HANDLER
      logger.level=WARN
      
      handler.SENTRY_HANDLER=com.getsentry.raven.jul.SentryHandler
      handler.SENTRY_HANDLER.properties=dsn,tags
      handler.SENTRY_HANDLER.tags=tag1\:value1,tag2\:value2
      handler.SENTRY_HANDLER.dsn=https\://test\:test@app.getsentry.com/test
      

      请注意,设置logger.level=WARN 您只会看到来自应用程序的警告消息。此外,通过使用 logging.properties 文件,您不会在 server.log 或控制台上看到任何消息。

      【讨论】:

        猜你喜欢
        • 2020-10-01
        • 2020-08-29
        • 1970-01-01
        • 2019-12-03
        • 2019-01-17
        • 2016-10-21
        • 1970-01-01
        • 2013-02-21
        • 1970-01-01
        相关资源
        最近更新 更多