Java 无法禁用日志记录消息
我在清除Spring生成的调试消息时遇到了一些问题(与下面的消息类似;有数千个条目): 在相关问题中,有许多建议涉及log4j、web.xml等。Java 无法禁用日志记录消息,java,spring,maven,Java,Spring,Maven,我在清除Spring生成的调试消息时遇到了一些问题(与下面的消息类似;有数千个条目): 在相关问题中,有许多建议涉及log4j、web.xml等。 然而,我并没有使用任何一个,我只是实例化一个注释ConfigApplicationContext并开始创建bean 在我的pom.xml文件中,没有对任何日志框架的引用-我只包含spring依赖项: <!-- Spring and Transactions --> <dependency> <groupId>
然而,我并没有使用任何一个,我只是实例化一个
注释ConfigApplicationContext
并开始创建bean
在我的pom.xml文件中,没有对任何日志框架的引用-我只包含spring依赖项:
<!-- Spring and Transactions -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring-framework.version}</version>
</dependency>
<!-- ... -->
<artifactId>spring-tx</artifactId>
<!-- ... -->
<artifactId>spring-boot-starter</artifactId>
<!-- ... -->
<artifactId>spring-web</artifactId>
<!-- ... -->
此外,我试图通过添加以下内容来排除pom.xml中的commons日志记录:
<exclusions>
<!-- Exclude Commons Logging in favor of SLF4j -->
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
公用记录
公用记录
然而,仍然没有运气
接下来,我尝试包含对log4j的依赖,希望这会覆盖默认的日志记录。由于消息的格式保持不变,这一尝试似乎也没有成功
接下来我可以尝试什么?首先:slf4j是否在类路径上 SLF4J是Java的另一个日志抽象,也可以与Spring框架一起使用。许多库/产品已切换到slf4j 是否存在名称中带有“slf4j”的依赖项?尝试mvn dependency:tree-Dverbose=true,并查看是否显示slf4j。如果是这样,请查看slf4j网站以了解有关其设置的更多信息 第二:使用哪个log4j配置文件 提示检测是否使用了log4j,以及log4j配置文件是否位于类路径上: 尝试将属性log4j.debug设置为“true” 当使用mvn exec:java时,只需将-Dlog4j.debug=true添加到命令行
如果这是使用maven surefire插件的Junit测试,请尝试在surefire插件本身中设置systemProperties:您是否使用配置文件?@c-qjv0xfi:否,所有配置都是通过注释完成的。是否需要添加一个来禁用日志记录?我刚刚发现了一个解决方法:@winSharp93当您尝试使用log4j时,您的
log4j.properties
是什么样子的?例如,您是否尝试更改Spring
的日志记录级别?示例:log4j.logger.org.springframework=ERROR
@winSharp93我认为应该可以。
System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.NoOpLog");
<exclusions>
<!-- Exclude Commons Logging in favor of SLF4j -->
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>