如何设置Wildfly服务器日志的最大大小

iso*_*01_ 5 java logging webserver jboss wildfly

我们已经Wildfly在生产系统中以域模式运行。大约有10台Web服务器,而所有10台服务器仅在日志文件中。日志文件位于/var/log/wildfly/wildfly.log文件下。我上次检查时,文件约为5 GB。我的问题是:

  1. 有什么方法可以分隔服务器日志,以便每个服务器都有自己的日志文件?
  2. 有什么方法可以将日志文件设置为最大大小限制,以防止增长过度?
  3. 有什么办法可以删除日志文件并重新开始?2天之前的日志对我来说毫无用处,因此日志文件中的大多数数据都是多余的。

看待

ric*_*ich 5

对于 (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 -->
Run Code Online (Sandbox Code Playgroud)

  • 与更改 XML 相比,更喜欢使用 CLI 或 Web 控制台。`rotate-size` 和 `max-backup-index` 用于 `size-rotating-file-handler` 而不是 `periodic-rotating-file-handler`。还要注意,这些应该进入每个服务器的日志文件。如果不是,则某些内容已被覆盖。让多个服务器也写入同一个文件是一个坏主意。 (5认同)

Bej*_*ond 5

  1. 创造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>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用创建的处理程序

        <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>
    
    Run Code Online (Sandbox Code Playgroud)