Вот log4j.xml
, который я использую с моим приложением spring
.Почему изменение корневого регистратора не влияет на других регистраторов?
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="PRIMARY" class="org.apache.log4j.rolling.RollingFileAppender">
<rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
<param name="FileNamePattern" value="/var/log/myappcontroller-%d{yyyy-MM-dd}.log"/>
</rollingPolicy>
<layout class="org.apache.log4j.EnhancedPatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} %d %-5p %c - %m%n"/>
</layout>
</appender>
<logger name="com.myapp.usercontroller" additivity="false">
<level value=“INFO"/>
<appender-ref ref="CONSOLE"/>
<appender-ref ref="PRIMARY"/>
</logger>
<root>
<priority value="INFO”/> //changing this to DEBUG
<appender-ref ref="PRIMARY"/>
<appender-ref ref="CONSOLE"/>
</root>
Два вопроса:
1) при изменении priority value =DEBUG
в <root>
, я надеялся увидеть журналы отладки из com.myapp.usercontroller
. Но я не сделал этого. почему изменение значения <root>
не повлияло.
2) Наоборот, я начинаю видеть лесорубов (org.apache.http)
DEBUG org.apache.http.headers - http-outgoing-0 >> POST /token HTTP/1.1
Почему это так? Я не настроил этот регистратор. но изменение <root>
оказывает прямое влияние на этот регистратор.
Спасибо за объяснение
так что уровень отладки для 'com.myapp.usercontroller' применяется к' com.myapp.usercontroller.xxx' и т. Д. Правильно? –
Это правильно. Точки действуют как разделители иерархии. – skaffman