问题:日志在我的单元测试中没有回应任何内容。记录在我的应用程序中运行良好,但是当我将相同的代码移动到test
包时,它们就会停止工作。 (见下面的代码)
问题:如何在我的单元测试中获取日志?
代码:
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class LogTest {
private static final Log _LOG = LogFactory.getLog(TransformerServiceTest.class);
@Test
public void testLogs() {
_LOG.info("!!!!!!!!!!!!!!!!!!"); // NEVER ECHOES TO STDOUT
}
}
更新:现在只有_LOG.error()正常工作
更改为DEBUG级别后,只有ERROR级别工作
log4j.properties
# Root logger option
log4j.rootLogger=DEBUG, stdout
# Direct log messages to stdout
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
LogTest.class
public class LogTest {
private static Log _LOG = LogFactory.getLog(LogTest.class);
@Test
public void test() {
_LOG.error("Error works!"); //works
_LOG.warn("Warn works!"); //doesn't work
_LOG.info("Info works!"); // doesn't work
}
}
答案 0 :(得分:0)
您只需要将log4j依赖项添加到类路径中,所有这些都可以正常工作。
如果您正在使用Maven,那么只需将其添加到pom.xml中的dependencies
元素:
...
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
...
如果你有一个更简单的工作环境,只需将它添加到你的类路径