我正在JBoss AS7上运行一个应用程序。当我启动服务器时,JBoss中的所有init日志都在Output视图中正确显示,但应用程序日志却没有。我只有最后一行覆盖前一行。
应用程序日志通过logback写入控制台:
<appender name="out" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}|%level|%thread|%logger{50}|%msg%n</Pattern>
</encoder>
</appender>
<root level="info">
<appender-ref ref="out" />
</root>
以下是standalone.xml中的日志记录配置:
<subsystem xmlns="urn:jboss:domain:logging:1.1">
<console-handler name="CONSOLE">
<level name="INFO"/>
<formatter>
<pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
</formatter>
</console-handler>
<logger category="com.arjuna">
<level name="WARN"/>
</logger>
<logger category="org.apache.tomcat.util.modeler">
<level name="WARN"/>
</logger>
<logger category="sun.rmi">
<level name="WARN"/>
</logger>
<logger category="jacorb">
<level name="WARN"/>
</logger>
<logger category="jacorb.config">
<level name="ERROR"/>
</logger>
<root-logger>
<level name="INFO"/>
<handlers>
<handler name="CONSOLE"/>
</handlers>
</root-logger>
</subsystem>
如果我将日志保存到文件,我可以看到我的所有应用程序日志。我试图增加缓冲区,但它没有用。相同的配置适用于Eclipse。
例如,这是我在Intellij输出中得到的:
... // logs from JBoss
deployed appli ... // logs from JBoss
log3 // logs from application (logback)
如果登录文件也是如此:
... // logs from JBoss
deployed appli ... // logs from JBoss
log1 // logs from application (logback)
log2 // logs from application (logback)
log3 // logs from application (logback)
log3覆盖了log1和log2。