私は、デバッグとログローテーションにlogback-classicを使用してみようと思ったプロジェクトに取り組んでいます。これをMavenコンテキストで使用して、JBoss 7.1ApplicationServerにデプロイする.warファイルをビルドおよび作成しています。
コードのresourcesフォルダーにlogback.xmlファイルを配置し、test/resourcesにlogback-test.xmlを配置しました。
私が使用しているアクティブなjarは、実際のデバッグを出力するためのSLF4Jです。
public class MyClass extends MultiActionController {
private Logger logger = LoggerFactory.getLogger(MyClass.class);
public MyClass() {
logger.debug("hello");
}
}
Maven自体のコードでJUnitテストを実行すると機能しますが、.warファイルをビルドした後、STDOUTでデバッグが行われず、作成されたファイルも見つかりません。
構成ファイルのSTDOUTから実際のログを削除したことは知っていますが、ログはどこに行きますか...
logback.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>DEBUG</level>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>logs/myproject.%d{yyyy-MM-dd}.log</FileNamePattern>
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyMMdd HH:mm:ss.SSS} [%-5.5level] [%-25.25logger] %msg%n</pattern>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="FILE" />
</root>
</configuration>
フォルダ「logs」は、JBossインスタンスで明示的に作成する必要がありますか、それともこれを機能させるためにそれに関連して参照する必要がありますか?それとも私が見逃したものはありますか?logback.xmlファイルをJBossインスタンスに入れる必要がありますか?
最高、ヘンリック