【发布时间】:2017-07-09 17:18:31
【问题描述】:
我有一个类 Store,其中包含“log.info(...)”之类的语句。我可以看到运行程序时创建的日志文件的日志消息。但是,当我运行 JUnit 测试时,不会创建日志文件,但我仍然想查看日志消息。记录器是:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
还有我的 log4j 属性:
log4j.rootLogger=DEBUG, STDOUT, file
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout
log4j.appender.STDOUT.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=mylogs.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss} %-5p %c{1}:%L - %m%n
问题是,如何在运行我的 Junit 测试时创建日志文件和日志消息?
编辑:
部分测试日志属性:
log4j.rootLogger=ERROR, Console
log4j.logger.play=DEBUG
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p ~ %m%n
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=testlog.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss} %-5p %c{1}:%L - %m%n
【问题讨论】:
-
这是一个什么样的项目,例如maven、gradle、basic eclipse/intellij java项目等等?你的测试类路径中有
log4j.properties吗? -
@Morfic,它是 Eclipse 中的一个 Maven 项目。是的,我在 src/test/resources 文件夹下有一个 log4j.properties。
-
您可以使用它为您的测试自定义日志配置吗?它是什么样子的,也许它只定义了一个控制台附加程序?
-
@Morfic,请看src/test/resources下的日志文件。
标签: java logging junit log4j slf4j