当前位置: 首页 > 面试题库 >

如何为SpringJUnit4ClassRunner配置log4j.properties?

池兴邦
2023-03-14
问题内容

突然在JUnit测试期间这种情况一直发生。一切正常,我编写了一些新测试,并且发生了此错误。如果我还原它,它不会消失。这是为什么?

log4j:WARN No appenders could be found for logger (org.springframework.test.context.junit4.SpringJUnit4ClassRunner).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

问题答案:

您(直接或间接)编写的新测试使用 使用Log4j记录的类

需要配置Log4J才能使此日志正常运行。

log4j.properties (或log4j.xml)文件放在 测试类路径根目录中

它应该具有一些基本配置,例如

# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=DEBUG, A1

# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender

# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

# An alternative logging format:
# log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1} - %m%n

默认情况下,追加程序会输出到控制台,但您也可以像这样显式设置目标:

log4j.appender.A1.Target=System.out

这会将所有输出以一种不错的格式重定向到控制台。可以在Log4J手册中找到更多信息,

然后将正确配置Log4J日志记录,该警告将消失。



 类似资料:
  • 我的项目中有一堆测试,它们都用@SpringBootTest注释,因此加载了一个SpringBoot上下文。 最近,我重构了一个测试,在这个测试中,我想要一个更小的范围(它是关于camunda的进程复盖率)到@RunWith(SpringJunit4ClassRunner.class)。因为这意味着没有上下文是自动加载的,所以我用静态内部类配置“手动”创建了一些bean。整个测试如下所示: 我不能

  • 我试图在postgresql中使用HikariCP,但我在任何地方都找不到postgresql的配置。 请给我指出任何示例postgresql与HikariCP或任何配置教程相同。 我试着像下面那样使用它,但它不起作用,然后我意识到它是为MySQL设计的

  • 也许我做错了什么。 CORS策略阻止从来源“https://www.keycloak.org”访问“https://accounts.zoodexchange.com/auth/realms/development/protocol/openid-connect/token”处的XMLHttpRequest:请求的资源上没有“access-control-allow-orgin”标头。 您可以使用

  • 问题内容: 这是MySQL的配置文件: 为SQL Server 2005指定什么?我这样做是这样的: 我的问题更确切地说是如何指定必须连接的数据库? 在MySQL中,我曾经这样做: 问题答案: 特定于数据库的 属性是: :JDBC驱动程序类 :JDBC URL :数据库用户 :数据库密码 :Hibernate的类名,它允许Hibernate生成针对特定关系数据库优化的SQL。 要更改数据库,您必须

  • 我想为我的项目添加Java8支持。我找到的唯一合适的解决方案是retrolambda gradle插件项目。这是我的身材。项目和模块的gradle文件。 注意:请不要建议迁移到Android Studio 3,因为我想了解它为什么不工作。 项目build.gradle 模块构建。格拉德尔 这个应用程序本身非常简单。它只有一个默认活动,带有Java8代码,如下所示: 启动应用程序时,我发现以下错误:

  • 问题内容: 这是MySQL的配置文件: 为SQL Server 2005指定什么?我这样做是这样的: 我的问题更确切地说是如何指定必须连接的数据库? 在MySQL中,我曾经这样做: 问题答案: 特定于数据库的 属性是: :JDBC驱动程序类 :JDBC URL :数据库用户 :数据库密码 :Hibernate的类名称,它允许Hibernate生成针对特定关系数据库优化的SQL。 要更改数据库,您必