我需要改变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),但无法找到任何可行的解决方案。
有人可以帮忙吗?
由于
答案 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>