gpt4 book ai didi

java - 在 Spring Boot 应用程序中未针对 hibernate 和 spring 过滤 Log4j2 日志级别

转载 作者:行者123 更新时间:2023-12-01 14:34:44 25 4
gpt4 key购买 nike

我已根据 this 配置 Spring Boot 使用 Log4j2手动的。我想按根记录器中设置的级别过滤所有日志。这是我的 log4j2-spring.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Properties>
<Property name="LOG_PATTERN">%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} -s %msg%n</Property>
</Properties>
<Appenders>
<Console name="Console">
<PatternLayout pattern="${LOG_PATTERN}"/>
</Console>
<File name="File" fileName="app.log">
<PatternLayout pattern="${LOG_PATTERN}"/>
</File>
<SMTP name="Mail"
...
>
<ThresholdFilter level="ERROR" onMatch="ACCEPT"/>
<PatternLayout pattern="${LOG_PATTERN}"/>
</SMTP>
</Appenders>
<Loggers>
<Root level="INFO">
<AppenderRef ref="Console"/>
<AppenderRef ref="File"/>
<AppenderRef ref="Mail"/>
</Root>
</Loggers>
</Configuration>

问题是我仍然看到来自 hibernate 和 spring 框架的 DEBUG 输出。我设法通过为某些条目指定完整的包名称来过滤单个日志,如下所示:

<Loggers>
<Logger name="org.springframework.boot.context.web" level="INFO" />
<Root level="INFO">
<AppenderRef ref="Console"/>
<AppenderRef ref="File"/>
<AppenderRef ref="Mail"/>
</Root>
</Loggers>

当然,对所有包都这样做是不可行的。感谢您的帮助!

最佳答案

终于解决了。问题是我在 application.properties 文件中有一行 debug=truelog4j2-spring.xml 配置中的过滤器被忽略了.

关于java - 在 Spring Boot 应用程序中未针对 hibernate 和 spring 过滤 Log4j2 日志级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38853873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com