如何设置 Wildfly 服务器日志的最大大小
Posted
技术标签:
【中文标题】如何设置 Wildfly 服务器日志的最大大小【英文标题】:How to set the max size of the Wildfly server log 【发布时间】:2016-02-08 18:04:05 【问题描述】:我们的生产系统中有Wildfly
在域模式下运行。大约有 10 台 Web 服务器,并且所有 10 台服务器都只有日志文件。日志文件位于/var/log/wildfly/wildfly.log
文件下。我上次检查时,文件大约 5 GB。我的问题是:
-
有什么方法可以分离服务器日志,让每个服务器都有自己的日志文件?
有没有办法将日志文件设置为最大大小限制以防止过度增长?
有什么方法可以删除日志文件并重新开始?两天前的日志对我来说没用,所以日志文件中的大部分数据都是多余的。
注意
【问题讨论】:
【参考方案1】:对于 (1) 我不确定 - 是否安装了此操作系统?我没有那个文件,但我只是解压缩 tarball。
对于 (2) 和 (3),我认为在 domain/configuration/domain.xml
或 standalone/configuration/standalone.xml
中查找适当的(“默认”?)periodic-rotating-file-handler
并添加,例如:
<rotate-size value="20k"/> <!-- Limit on size of file -->
<max-backup-index value="1"/> <!-- Number of log files to keep -->
【讨论】:
谢谢。操作系统是Ubuntu Server
。我会检查domain.xml
并尝试参数。
比起更改 XML,更喜欢使用 CLI 或 Web 控制台。 rotate-size
和 max-backup-index
用于size-rotating-file-handler
而不是periodic-rotating-file-handler
。另请注意,这些应该进入每个服务器的日志文件。如果不是,则某些内容已被覆盖。让多个服务器同时写入同一个文件是个坏主意。【参考方案2】:
创建size-rotating-file-handler
<size-rotating-file-handler name="FILE_SIZE">
<level name="DEBUG"/>
<file relative-to="jboss.server.log.dir" path="server.log"/>
<rotate-size value="1m"/> <!-- the size, could be 100k, 10m etc-->
<max-backup-index value="5"/> <!-- backup index, default is 1, please set it to a large number -->
<append value="true"/>
</size-rotating-file-handler>
使用创建的处理程序
<root-logger>
<level name="INFO"/>
<handlers>
<handler name="CONSOLE"/>
<handler name="FILE"/>
<handler name="FILE_SIZE"/> <!-- this is what you need to add -->
</handlers>
</root-logger>
【讨论】:
以上是关于如何设置 Wildfly 服务器日志的最大大小的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Docker 容器内为 Wildfly 设置堆大小?
Keycloak/Wildfly 如何将所有控制台日志配置为 JSON 格式