テストケースとそれに対応する機能を含むmavenプロジェクトを作成しました。検証チェックのためのすべての機能がsrc/main/javaの下に置かれています。また、テストケースはsrc/test/javaの一部です。私はsrc/main/resourcesにlog4j.properties以下を置いています。また、私は以下の輸入品と一緒にラインの下に追加したクラスファイルの各mavenプロジェクトからログを生成できません
# Root logger option
log4j.rootLogger=info, file,stdout
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=/tmp/reports/logs/log.out
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
#To console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
:ログの
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
初期化:
static Logger log = LoggerFactory.getLogger(<class name>.class);
とログを作成するlog.info("")
を使用しています。
また、のpom.xmlに、下の依存関係が追加されます。しかし、私はログがコンソールにだけでなく、ファイル/tmp/reports/logs/log.out
しかし/tmp/reports/logs/log.out
が正常に作成されたログファイルが、ノーログの両方で生成されていない参照
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.25</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.25</version>
</dependency>
をコンソールにログも生成されません。
ログはコンソールに表示されますが、確かにlog4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
フォーマットではありません。
log4j関連のjarファイルをインポートしたため、コンソール上で生成されていると仮定しています。
これについてお手伝いできますか?
テストケースの場合のみ、slf4j-simpleを使用する方が簡単でしょうか? –
slf4j-simple jarも使用しましたが、ログは生成されません –
slf4j-simpleはログを生成するためのものではありません。これは、ログ出力を標準出力に出力するためのものです。これ以上何もない。 –