WildFly 8日志记录,如何从左侧截断记录器名称?

2022-08-06 00:00:00 logging java wildfly

我的应用程序在WildFly 8.2.1中运行。在standalone.xml文件中,日志记录子系统配置为使用以下模式格式化程序:

        <console-handler name="CONSOLE">
            <formatter>
                <pattern-formatter pattern="%K{level}%d{yyyy-MM-dd HH:mm:ss,SSS} | %-5p | %-15.15t | %-30.30c | %s%n%e"/>
            </formatter>
        </console-handler>

当记录器的名称超过30个字符时,将从右侧截断,如下面的行所示(其中完整的记录器名称为com.fakeorg.test.gateway.polling.LongPollingMap):

2017-04-25 11:45:00,010 | DEBUG | EJB default - 1 | com.fakeorg.test.gateway.polli | Begin removing expired long-polling connections...

当名称大于30个字符时如何使其从左侧截断?


解决方案

您需要使用%-30.-30c。然而,您会遇到一个truncation issue。

但是,您可以用较新的版本替换org.jboss.logmanager模块。在WildFly 11.0.0.Alpha1之前,日志管理器的正确版本似乎无法进入WildFly。

要替换您需要download 1.5.7.Final日志管理器的模块,请将其放在$JBOSS_HOME/modules/system/layers/base/org/jboss/logmanager/main/目录中并编辑module.xml

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="org.jboss.logmanager">
    <resources>
        <resource-root path="jboss-logmanager-1.5.7.Final.jar"/>
    </resources>

    <dependencies>
        <module name="javax.api"/>
        <module name="org.jboss.modules"/>
    </dependencies>
</module>

相关文章