[英]How to make log4j not to prints stdout, thread name
為什么log4j打印:
17:58:30,623 INFO [stdout] (http--127.0.0.1-8080-5)
完整的消息是:
17:58:30,623 INFO [stdout] (http--127.0.0.1-8080-5) 2012-12-09 17:58:30.623 [INFO] com.edfx.adb.web.controller.AuthController#login - A message
我正在使用JBoss AS7,並且已經排除了log4j,例如:
<jboss-deployment-structure>
<deployment>
<exclusions>
<module name="org.apache.log4j" />
</exclusions>
</deployment>
</jboss-deployment-structure>
我的log4j.properties
是:
log4j.rootLogger=INFO, CA
log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} [%p] %c#%M - %m%n
我想將消息打印為:
2012-12-09 17:58:30.623 [INFO] com.edfx.adb.web.controller.AuthController#login - A message
我該怎么做?
這是因為JBoss STDIO將stdout和stderr包裝,而log4j ConsoleAppender
輸出包裝到stdout。
您可以通過配置日志記錄子系統而不是使用log4j.properties文件來完成嘗試做的事情。 使用日志記錄子系統,也沒有理由在jboss-deployment-structure.xml
排除依賴jboss-deployment-structure.xml
。
<subsystem xmlns="urn:jboss:domain:logging:1.1">
<console-handler name="CONSOLE">
<level name="INFO"/>
<formatter>
<pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%p] %c#%M - %m%n"/>
</formatter>
</console-handler>
<!-- other handlers and loggers -->
<root-logger>
<level name="INFO"/>
<handlers>
<handler name="CONSOLE"/>
</handlers>
</root-logger>
</subsystem>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.