【发布时间】: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 > console.log? -
我们有一个自定义但非常标准的 bash 脚本,它调用 Jboss 脚本,末尾带有 >> $JBOSS_CONSOLE_LOG。我们的 logging.properties 没有改变。奇怪的是,我们在 console.log 中也有来自应用程序的日志,但只有少数,没有明确的模式。因此,这绝对是非常随机或“边缘情况”,而不是永久性错误配置。
标签: java logging jboss wildfly slf4j