为什么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
我该怎么做?
答案 0 :(得分:4)
这是因为JBoss STDIO将stdout和stderr以及log4j ConsoleAppender
输出包装到stdout。
您可以通过配置日志记录子系统而不是使用log4j.properties文件来完成您尝试执行的操作。使用日志记录子系统也没有理由在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>