Pau*_*aul 5 logging log4j thucydides serenity-bdd
我使用Serenity BDD在我的项目上进行测试自动化,将 IntelliJ IDEA 作为 IDE。我想更改每次运行测试时可以看到的日志的格式和调试级别。
例如,我只想查看[main]线程的日志:
[main] INFO net.thucydides.core.reports.junit.JUnitXMLOutcomeReport
[pool-3-thread-1] INFO net.thucydides.core.reports.ReportService -
Run Code Online (Sandbox Code Playgroud)
我知道如何进行 logback,但我找不到任何有关如何以及在何处更改 Serenity 日志设置的信息。
输出是由您正在测试的代码生成的,而不是由 Serenity BDD 生成的。因此,为了修改输出,您应该更改您使用的记录器的日志记录属性。
slf4j 是一个日志门面,它找到合适的记录器并将输出重定向到它。因此,您需要向应用程序添加一个记录器,然后按照您喜欢的方式配置它。
例如,将 logback 添加到您的配置中。
将其 logback 添加为项目的依赖项
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.3</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
添加src/test/resources/logback-test.xml
以指导 logback 应该记录哪些内容。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>
%-5level %logger{36} - %msg%n
</Pattern>
</layout>
</appender>
<!-- set DEBUG logging level for a package -->
<logger name="com.my.package" level="debug">
<!-- log warnings and errors by default -->
<root level="warn">
<appender-ref ref="STDOUT" />
</root>
</configuration>
Run Code Online (Sandbox Code Playgroud)
此配置会将警告和错误记录到控制台。并且还将记录 package 的调试和信息消息com.my.package
。
如果您不喜欢 logback,请使用 log4j2 或您选择的任何其他记录器。