Исключая только один уровень Log4j Logger - PullRequest
3 голосов
/ 06 марта 2012

Я использую Log4j в приложении, в котором я также использую веб-сервер Axis2 и Jetty.

Я настроил файл свойств Log4J таким образом, чтобы исключить эти классы из журнала при приоритете отладки.Но когда я это сделал, другие приоритетные сообщения также стали исключаться из основного регистратора.

Есть ли способ сообщить Log4j, что я просто хочу регистрировать журналы INFO из этих классов при регистрации журналов отладки из моих классов?

Вот что я сделал:

#Jetty Server and Axis2
log4j.category.org.apache.axiom=DEBUG
log4j.additivity.org.apache.axiom=false
log4j.category.org.apache.axis2=DEBUG
log4j.additivity.org.apache.axis2=false

################# MAIN LOGGER #################
log4j.rootCategory=DEBUG, mainLogger

#File configuration

Но, как я уже сказал, эта конфигурация также исключает сообщения INFO из главного регистратора.

Ответы [ 3 ]

4 голосов
/ 06 марта 2012

Нет, установите уровень Root на DEBUG и

log4j.category.org.apache.axiom=INFO
log4j.category.org.apache.axis2=INFO

Кроме того, не устанавливайте аддитивность на false.

Когда вы начинаете с нуля, вы можете сразу использовать более современный формат XML-конфигурации. Там это будет выглядеть так:

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

<appender name="FILE" class="org.apache.log4j.RollingFileAppender"> 
...
</appender> 

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

<root> 
    <priority value ="DEBUG" /> 
    <appender-ref ref="FILE" /> 
</root>

</log4j:configuration>
0 голосов
/ 06 марта 2012

С помощью этого вы можете установить уровень вашего журнала:

    import org.apache.log4j.Level;

    public static Logger logger = null;

    logger.setLevel(Level.DEBUG);

и

 Logger.getRootLogger().setLevel(Level.INFO);
0 голосов
/ 06 марта 2012

Установите rootCategory на INFO, установите соответствующий Logger ваших классов (например, org.myemployer.myapp) на DEBUG

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...