Wildfly 日志查看器必须显示 log4j 日志

Wildfly Log Viewer has to show log4j logs

我正在使用 WildFly9.0 并且能够在 Web 控制台的日志查看器页面中看到 server.log。我的应用程序在同一文件夹中有自己的日志文件,使用 log4j 配置了不同的名称。

我的问题是如何在 Web 控制台的日志查看器中也看到这些文件?如何配置它们?

Web 控制台使用日志子系统下的 log-file 资源。这只允许列出来自以下处理程序的文件; file-handler, periodic-rotating-file-handler, periodic-size-rotating-file-handler and size-rotating-file-handler。另请注意,如果您使用这些处理程序之一,则必须将 relative-to 属性设置为 jboss.server.log.dir.

无法注册其他文件。这样做的主要原因是不允许服务器成为原始文件服务器。此外,仅允许文件系统上的任何文件 read/downloaded.

存在安全问题

使用 Wildfly 10 可以通过向 standalone.xml 添加新的文件处理程序来为每个想要在日志查看器页面中列出的日志文件添加新的文件处理程序。

例如我通过添加 APPENDERS 处理程序将 appenders.logserver.log 添加到日志查看器控制台,如下所示。也不是每个处理程序都需要唯一的名称。

<periodic-rotating-file-handler name="FILE" autoflush="true">
    <formatter>
        <named-formatter name="PATTERN"/>
    </formatter>
    <file relative-to="jboss.server.log.dir" path="server.log"/>
    <suffix value=".yyyy-MM-dd"/>
    <append value="true"/>
</periodic-rotating-file-handler>

<periodic-rotating-file-handler name="APPENDERS" autoflush="true">
    <formatter>
        <named-formatter name="PATTERN"/>
    </formatter>
    <file relative-to="jboss.server.log.dir" path="appenders.log"/>
    <suffix value=".yyyy-MM-dd"/>
    <append value="true"/>
</periodic-rotating-file-handler>