Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 调试Spring配置不需要';行不通_Java_Spring_Log4j - Fatal编程技术网

Java 调试Spring配置不需要';行不通

Java 调试Spring配置不需要';行不通,java,spring,log4j,Java,Spring,Log4j,我在may Spring应用程序中添加了安全问题,所以我想通过log4j调试Spring Log4j正在工作,因为我的服务正在将调试信息记录到控制台。 但是Spring并没有在我的控制台上记录任何东西 这是我的log4j.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log

我在may Spring应用程序中添加了安全问题,所以我想通过
log4j
调试Spring

Log4j
正在工作,因为我的服务正在将调试信息记录到控制台。 但是Spring并没有在我的控制台上记录任何东西

这是我的
log4j.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
    <appender name="CA" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{MM/dd/yy - HH\:mm\:ss,SSS} [%t] %-5p %c %x - %m%n" />
        </layout>
    </appender>
    <logger name="org.springframework" additivity="false">
        <level value="DEBUG"/>
        <appender-ref ref="CA"/>
    </logger>   
    <logger name="com.test" additivity="false">
        <level value="INFO"/>
        <appender-ref ref="CA"/>
    </logger>
</log4j:configuration>
我尝试将其添加到我的web.xml中,如本文所述


log4jConfigLocation
/WEB-INF/classes/log4j.xml
org.springframework.web.util.Log4jConfigListener
我在其他应用程序中使用了此调试,但我真的没有看到原因。。。 谢谢你的帮助,我找到了

使用-Dorg.apache.commons.logging.diagnostics.dest=STDOUT可以调试commons日志配置

我发现我的依赖项(jcl-over-slf4j-1.5.8.jar)中的一个jar有一个META-INF/services/org.apache.commons.logging.LogFactory,它定义了slf4j的记录器

因此,添加-Dorg.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.logfactorympl,我将记录器恢复为log4j

log4j: Preferred configurator class: org.apache.log4j.xml.DOMConfigurator
log4j: System property is :null
log4j: Standard DocumentBuilderFactory search succeded.
log4j: DocumentBuilderFactory is: org.apache.xerces.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.springframework] additivity to [false].
log4j: Level value for org.springframework is  [DEBUG].
log4j: org.springframework level set to DEBUG
log4j: Class name: [org.apache.log4j.ConsoleAppender]
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%d{MM/dd/yy - HH:mm:ss,SSS} [%t] %-5p %c %x - %m%n].
log4j: Adding appender named [CA] to category [org.springframework].
log4j: Retreiving an instance of org.apache.log4j.Logger.
log4j: Setting [com.test] additivity to [false].
log4j: Level value for com.testis  [INFO].
log4j: com.testlevel set to INFO
log4j: Adding appender named [CA] to category [com.test].
log4j: Retreiving an instance of org.apache.log4j.Logger.
log4j: System property is :null
log4j: Standard DocumentBuilderFactory search succeded.
log4j: DocumentBuilderFactory is: org.apache.xerces.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.springframework] additivity to [false].
log4j: Level value for org.springframework is  [DEBUG].
log4j: org.springframework level set to DEBUG
log4j: Class name: [org.apache.log4j.ConsoleAppender]
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%d{MM/dd/yy - HH:mm:ss,SSS} [%t] %-5p %c %x - %m%n].
log4j: Adding appender named [CA] to category [org.springframework].
log4j: Retreiving an instance of org.apache.log4j.Logger.
log4j: Setting [com.test] additivity to [false].
log4j: Level value for com.test is  [INFO].
log4j: com.test level set to INFO
log4j: Adding appender named [CA] to category [com.test].
<context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>/WEB-INF/classes/log4j.xml</param-value>
</context-param>

<listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>