java - 如何在 JUnit 测试中从 log4j.properties 访问属性?

标签 java logging junit log4j

我正在编写一个单元测试,通过检查日志文件来验证某些日志记录功能。我从测试用例中硬编码的日志路径开始,但我宁愿使用 log4j.properties 文件中的 log4j.appender.file.File 条目,万一它发生变化。有没有办法在 JUnit 代码中以编程方式访问它?

如果有人想知道:我正在测试的功能全部在 private 中,所以我不能只检查返回值。

最佳答案

您可以使用以下命令以编程方式访问它:

FileAppender appender = (FileAppender) LogManager.getRootLogger().getAppender("file");
File file = new File(appender.getFile());

关于java - 如何在 JUnit 测试中从 log4j.properties 访问属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27323510/

相关文章:

Spring引导登录到多个文件

python - Django 错误记录 : Adding request header, 正文和用户信息

testing - Wiremock 测试总是在一个简单的请求上得到 404

java - JUnit 插件测试忽略 Eclipse Neon 中的目标平台

Java - 使用条件在 super 方法中指定参数

java - 独立加速发生器

batch-file - 具有时间戳和日志记录处理超时/断开连接/故障的批处理文件-Ping

java - Apache Pig UDF 解析问题

java - 如何使用Alfresco OperationContext过滤掉文档?

java - JPA:外部容器事务未提交