JBoss AS7 でアプリケーションを実行しています。サーバーを起動すると、JBoss からのすべての初期化ログが出力ビューに正しく表示されますが、アプリケーション ログは正しく表示されません。前の行を上書きする最後の行しかありません。
アプリケーション ログは 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 をオーバーライドしました。