2017-08-16 5 views
0

junitを使用してScalaで書かれたテストがあります。このテストは、他の多くのモジュールを備えたマルチポームのモジュール内にあります。ここでScala junitが間違ったlog4j.propertiesファイルを取得する

は、テストのコードです:

import org.apache.log4j.Logger 
import org.apache.logging.log4j.scala.Logging 
import org.junit._ 


class MyTest extends Logging { 

    @Test 
    def mainTest() = { 
    //val logger = Logger.getLogger("MyTest") 

    logger.fatal("fatal") 
    logger.error("error") 
    logger.warn("warn") 
    logger.info("info") 
    logger.debug("debug") 
    logger.trace("trace") 
    } 
} 

そして、ここではresourcesフォルダ内にあるlog4j.propertiesファイル、次のとおりです。

log4j.rootCategory=ALL, console 

log4j.appender.console=org.apache.log4j.ConsoleAppender 
log4j.appender.console.target=System.out 
log4j.appender.console.layout=org.apache.log4j.PatternLayout 
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n 

Mavenの依存関係は次のとおりです。

<dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-api-scala_2.10</artifactId> 
     <version>2.8.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-core</artifactId> 
     <version>2.8.2</version> 
    </dependency> 

私がテストを実行し、debugtraceレベルは印刷されません。

ロガーが他のプロジェクトの1からファイルを拾うかもしれないと私には思えます。どうして?

私はテストの最初の行のコメントを解除した場合、すべてのレベルが印刷されます。

は、実行コマンドに-Dlog4j.debugを追加しようとしたが、log4jは、それを無視しているようです。

私が迷っているものは何ですか?

+0

「log4j.properties」はどこにありますか? – mfirry

答えて

0

あなたはlog4j2を使用しています。

あなたのファイル名はlog4j2.propertiesでなければなりません。

また、.propertiesファイルの構文が変更されています。次の例は、hereから取得します。

name=PropertiesConfig 
property.filename = logs 
appenders = console, file 

appender.console.type = Console 
appender.console.name = STDOUT 
appender.console.layout.type = PatternLayout 
appender.console.layout.pattern = [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n 

appender.file.type = File 
appender.file.name = LOGFILE 
appender.file.fileName=${filename}/propertieslogs.log 
appender.file.layout.type=PatternLayout 
appender.file.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n 

loggers=file 
logger.file.name=guru.springframework.blog.log4j2properties 
logger.file.level = debug 
logger.file.appenderRefs = file 
logger.file.appenderRef.file.ref = LOGFILE 

rootLogger.level = debug 
rootLogger.appenderRefs = stdout 
rootLogger.appenderRef.stdout.ref = STDOUT 
関連する問題