0
我有一個測試用Scala編寫,使用junit。測試是在一個多模塊與許多其他模塊。斯卡拉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")
}
}
這裏是log4j.properties文件,這是在resources
文件夾:
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>
當我運行測試時,debug
和trace
級別不打印。
在我看來,該記錄器可能會從其他項目中的一個拿起文件。爲什麼?
如果我取消了測試的第一線,所有的水平得到打印。
嘗試添加-Dlog4j.debug
來運行命令,但log4j的似乎忽略它。
任何想法我失蹤?
哪裏是你的'log4j.properties'在什麼位置? – mfirry