2017-11-27 29 views
0

テストケースとそれに対応する機能を含む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ファイルをインポートしたため、コンソール上で生成されていると仮定しています。

これについてお手伝いできますか?

+0

テストケースの場合のみ、slf4j-simpleを使用する方が簡単でしょうか? –

+0

slf4j-simple jarも使用しましたが、ログは生成されません –

+0

slf4j-simpleはログを生成するためのものではありません。これは、ログ出力を標準出力に出力するためのものです。これ以上何もない。 –

答えて

0

私はslf4jの代わりにLog4jロガーを使用し、ログを生成しました。その回避策は使用されています。

import org.apache.log4j.Logger; 

static Logger log = Logger.getLogger(KNMIRules.class); 
関連する問題