如何更改JBoss EAP 7日志中打印的日志级别标识符?

时间:2017-04-28 13:21:20

标签: java logging jboss formatter

我需要改变JBoss将日志级别打印到日志文件中的方式,只显示日志级别标签的第一个字符,以便

19:13:01,183 INFO  [javax.enterprise.resource.webcontainer.jsf.config] (ServerService Thread Pool -- 61) Initializing Mojarra 2.2.12-jbossorg-2  ...

将成为

19:13:01,183 I [javax.enterprise.resource.webcontainer.jsf.config] (ServerService Thread Pool -- 61) Initializing Mojarra 2.2.12-jbossorg-2  for context '/MONService'

我尝试了一些格式化字符串的组合,但我无法只得到第一个字符。

我参考了JBoss EAP 7文档(https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html/configuration_guide/logging_with_jboss_eap)和Formatter javadoc(http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html),但无法找到任何可行的解决方案。

有人可以帮忙吗?

由于

1 个答案:

答案 0 :(得分:1)

我试过这种格式并且它起作用(至少对JBoss AS 7.5来说):

<pattern-formatter pattern="%d{HH:mm:ss,SSS} %1.1p [%c] (%t) %s%E%n"/>

这是在standalone.xml中配置的:

<subsystem xmlns="urn:jboss:domain:logging:1.5">
            ...
            <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>
            ...
            <root-logger>
                <level name="ALL"/>
                <handlers>                    
                    <handler name="FILE"/>
                </handlers>
            </root-logger>
            <formatter name="PATTERN">
                <pattern-formatter pattern="%d{HH:mm:ss,SSS} %1.1p [%c] (%t) %s%E%n"/>
            </formatter>
</subsystem>
相关问题