gpt4 book ai didi

java - spring 框架停留在调试日志级别

转载 作者:太空宇宙 更新时间:2023-11-04 06:49:34 24 4
gpt4 key购买 nike

我正在尝试通过 log4j.xml 配置 spring 框架日志记录级别。我的文件如下所示:

<?xml version="1.0" encoding="UTF-8" ?>
<!-- <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> -->
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
<configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- Create a console appender -->
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<param name="threshold" value="debug" />
<param name="Target" value="System.out" />
<param name="ImmediateFlush" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE} %5p %-45.45c: %m%n" />
</layout>
</appender>

<!-- Change the logging of some known libraries, no need for most of the
chatter -->
<category name="org.apache">
<priority value="ERROR" />
</category>
<category name="org.springframework">
<priority value="ERROR" />
</category>
<category name="org.springframework.data">
<priority value="INFO" />
</category>
<category name="com.mchange">
<priority value="INFO" />
</category>

<!-- <category name="com.ssv.mq.service"> <priority value="INFO"/> </category> -->

<category name="com.ro">
<priority value="INFO" />
</category>


<!-- Perhaps add some extra logging for org.springframework.jdbc.core -->
<category name="org.springframework.jdbc.core">
<priority value="INFO" />
</category>

<!-- Setup the root logger -->
<root>
<priority value="INFO"></priority>
<!-- <appender-ref ref="EMAIL_ASYNC" /> -->
<appender-ref ref="CONSOLE"/>
</root>
</configuration>

但是,spring 正在记录所有调试信息,这里是 catalina.out 的示例:

15:46:03.535 [http-bio-8080-exec-3] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/oauth/token'; against '/oauth/cache_approvals' 
15:46:03.536 [http-bio-8080-exec-3] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/oauth/token'; against '/oauth/uncache_approvals'
15:46:03.536 [http-bio-8080-exec-3] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/oauth/token'; against '/oauth/token'
15:46:03.536 [http-bio-8080-exec-3] DEBUG o.s.security.web.FilterChainProxy -
/oauth/token?grant_type=password&client_id=my-trusted-client-with-secret&client_secret=somesecret&username=seema&password=jrd@123456 at position 1 of 7 in additional filter chain; firing Filter: 'SecurityContextPersistenceFilter'

请注意,我不是一个 Spring 专家,所以这可能就像 Maven 中缺少一些依赖项(slf4j 或其他东西)一样简单。

我确信 log4j.xml 位于正确的位置并且它是从 spring 加载的。

编辑:

I added the debug flags as suggested by stephane and here is the output:
delegate: false^M
repositories:^M
/WEB-INF/classes/^M
----------> Parent Classloader:^M
org.apache.catalina.loader.StandardClassLoader@69fc49ef^M
.
log4j: Using URL [file:/var/lib/tomcat7/webapps/propspace-api/WEB-INF/classes/log4j.xml] for automatic log4j configuration.
log4j: Preferred configurator class: org.apache.log4j.xml.DOMConfigurator
log4j: System property is :null
log4j: Standard DocumentBuilderFactory search succeded.
log4j: DocumentBuilderFactory is: com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
log4j: debug attribute= "null".
log4j: Ignoring debug attribute.
log4j: reset attribute= "false".
log4j: Threshold ="null".
log4j: Retreiving an instance of org.apache.log4j.Logger.
log4j: Setting [org.apache] additivity to [true].
log4j: Level value for org.apache is [ERROR].
log4j: org.apache level set to ERROR
log4j: Retreiving an instance of org.apache.log4j.Logger.
log4j: Setting [org.springframework] additivity to [true].
log4j: Level value for org.springframework is [ERROR].
log4j: org.springframework level set to ERROR
log4j: Retreiving an instance of org.apache.log4j.Logger.
log4j: Setting [org.springframework.data] additivity to [true].
log4j: Level value for org.springframework.data is [ERROR].
log4j: org.springframework.data level set to ERROR
log4j: Retreiving an instance of org.apache.log4j.Logger.
log4j: Setting [org.springframework.jdbc.core] additivity to [true].
log4j: Level value for org.springframework.jdbc.core is [WARN].
log4j: org.springframework.jdbc.core level set to WARN
log4j: Level value for root is [WARN].
log4j: root level set to WARN
log4j: Class name: [org.apache.log4j.ConsoleAppender]
log4j: Setting property [threshold] to [DEBUG].
log4j: Setting property [target] to [System.out].


`So far so good, but two lines later, i'm still getting the spring debug messages:
`17:26:00.630 [localhost-startStop-1] DEBUG o.s.b.f.s.DefaultListableBeanFactory - Returning cached instance of singleton bean 'org.springframework.security.methodSecurityMetadataSourceAdvisor'
17:26:00.630 [localhost-startStop-1] DEBUG o.s.b.f.s.DefaultListableBeanFactory - Returning cached instance of singleton bean 'org.springframework.transaction.config.internalTransactionAdvisor'
`

最佳答案

谢谢斯蒂芬, This post实际上引导我排除了对 logback 和 jcl-over-slf4j 的依赖。现在一切正常。

关于java - spring 框架停留在调试日志级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23517075/

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