【问题标题】:Wildfly Log Viewer has to show log4j logsWildfly 日志查看器必须显示 log4j 日志
【发布时间】:2015-11-05 08:51:29
【问题描述】:

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

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

【问题讨论】:

    标签: wildfly log-viewer


    【解决方案1】:

    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

    无法注册其他文件。这样做的主要原因是不允许服务器成为原始文件服务器。此外,仅允许读取/下载文件系统上的任何文件存在安全问题。

    【讨论】:

    • 谢谢詹姆斯。我同意你的看法。我已经编写了下载日志文件的代码。两天前,我从 Jboss 7.1 迁移到 WildFly,看到 WildFly 的 Web 控制台中的 Log Viewer 让我兴奋不已。 Web 控制台看起来很棒。谢谢。
    【解决方案2】:

    使用 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>
    

    【讨论】: