【问题标题】:Wildfly 11 randomly logs to console.log instead of server logWildfly 11 随机记录到 console.log 而不是服务器日志
【发布时间】:2019-09-02 11:27:45
【问题描述】:

问题

Wildfly 11 随机记录到 console.log 而不是 server.log 文件,尽管在standalone.xml 中没有配置控制台日志。这种行为在启动时是可重现的,有时会在生产模式下发生,可能是在进行大量日志记录时。这可能是一个重要的信息,因为绝大多数日志条目都找到了进入 server.log 的方式,并且只有几行记录到控制台日志。

我的第一个想法是,Wildfly 没有将日志配置从 logging.properties 切换到standalone.xml,但在启动时,当这种情况发生时。由于成功部署后也会发生这种奇怪的行为,原因似乎是别的。

console.log 中的日志条目在 server.log 中找不到,因此看起来这些文件是专有的,因此一个日志条目仅写入一个日志文件。 但是,根据日志记录类别,所有条目都应写入 server.log。

配置

  • 野蝇 11

  • urn:jboss:domain:logging:3.0 子系统没有配置控制台处理程序,只有一个周期性旋转文件处理程序

  • 根记录器是这样配置的,所以也没有控制台处理程序

    <root-logger>
     <level name="INFO"/>
     <handlers>
         <handler name="FILE"/>
     </handlers>
    </root-logger>
    
  • 部署了 20 多个 war 文件(我知道,这很疯狂,但它是一个遗留软件,不是我设计的那样:-))

问题

这种行为有什么合乎逻辑的原因吗? Wildfly 在无法写入 server.log 的特殊情况下是否使用控制台作为后备?周期性旋转文件处理程序是否具有某种缓冲区大小,如果是,更改该大小是否有意义?如果是,如何更改此大小?

我假设部署的大量应用程序(战争)会导致日志记录问题。在这种情况下是否有一些资源(线程/线程池等)会耗尽?

感谢我能得到的任何帮助,所以请与我分享你的想法!

【问题讨论】:

  • 哪些类别会登录到console.log?你如何开始wildfly,比如standalone.sh &gt; console.log
  • 我们有一个自定义但非常标准的 bash 脚本,它调用 Jboss 脚本,末尾带有 >> $JBOSS_CONSOLE_LOG。我们的 logging.properties 没有改变。奇怪的是,我们在 console.log 中也有来自应用程序的日志,但只有少数,没有明确的模式。因此,这绝对是非常随机或“边缘情况”,而不是永久性错误配置。

标签: java logging jboss wildfly slf4j


【解决方案1】:

我们发现了问题。经过另一次分析发现,日志条目不是随机的,我们可以识别具有自定义日志配置的组件。

【讨论】:

    猜你喜欢
    • 2022-01-08
    • 1970-01-01
    • 2019-10-10
    • 2020-11-07
    • 2015-05-28
    • 2014-07-21
    • 1970-01-01
    • 2021-08-15
    • 2021-07-23
    相关资源
    最近更新 更多