《Log4j 2 官方文档》Testing in Maven

简介:

在 Maven 中使用测试

Maven在整个构建生命周期内可以运行单元测试和功能测试。默认情况下, 任何在 src/test/resources 路径下的文件都会复制到 target/test-classes 路径中, 同时这些文件在执行测试过程中,也会被包含在 classpath 中. 正因为这样的特性,如果将一个 log4j2-test.xml 文件放到 src/test/resources 目录中, 这会替换掉当前正在使用的 log4j2.xml 或 log4j2.json 配置。因此, 在测试期间可以使用不同的日志配置,而不是当前在产品中使用的配置。

第二种方法是: 在测试类方法中使用 @BeforeClass 注解设置 log4j.configurationFile 的属性,这种方法在 Log4j 2被大量使用。和第一种方法相比,测试的配置文件可以使用任意文件名。

第三种方法同样在 Log4j 2 中大量使用, 它使用了 LoggerContextRule JUnit 测试规则, LoggerContextRule 提供额外的便于测试的方法. 另外, 这种方法需要添加 log4j-core test-jar到 test scope 的依赖中.举个例子

  1. public class AwesomeTest {
  2. @Rule
  3. public LoggerContextRule init = new LoggerContextRule("MyTestConfig.xml");
  4. @Test
  5. public void testSomeAwesomeFeature() {
  6. final LoggerContext ctx = init.getContext();
  7. final Logger logger = init.getLogger("org.apache.logging.log4j.my.awesome.test.logger");
  8. final Configuration cfg = init.getConfiguration();
  9. final ListAppender app = init.getListAppender("List");
  10. logger.warn("Test message");
  11. final List<LogEvent> events = app.getEvents();
  12. // etc.
  13. }
  14. }
相关文章
|
3月前
|
SQL Java 数据库连接
Mybatis之Mybatis简介、搭建Mybatis相关步骤(开发环境、maven、核心配置文件、mapper接口、映射文件、junit测试、log4j日志)
【1月更文挑战第2天】 MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下,iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBatis提供的持久层框架包括SQL Maps和Data Access Objects(DAO)
202 3
Mybatis之Mybatis简介、搭建Mybatis相关步骤(开发环境、maven、核心配置文件、mapper接口、映射文件、junit测试、log4j日志)
|
5月前
|
Java 关系型数据库 MySQL
搭建My Batis(Maven + MySql + log4j)
MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(PlainOrdinaryJavaObject,普通的Java对象)映射成数据库中的记录。下图是本项目中的整体结构,搭建的时候可以参考各包目录位置。...
41 0