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