revy
revy

Reputation: 4707

Disable log4j and slf4j initialization output for external libraries

When running my application I see on the stdout the following log4j initialization infos:

log4j: Threshold ="null".
log4j: Level value for root is  [OFF].
log4j: root level set to OFF
log4j: Class name: [org.apache.log4j.ConsoleAppender]
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n].
log4j: Adding appender named [console] to category [root].

This is probably coming from external libraries using log4j and slf4j. I am trying to suppress these initialization infos, but even setting the root logger level to OFF does not seem to have any effect. This is the log4j.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true"
                     xmlns:log4j='http://jakarta.apache.org/log4j/'>

    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                   value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
        </layout>
    </appender>

    <root>
        <level value="OFF" />
        <appender-ref ref="console" />
    </root>

</log4j:configuration>

Any suggestion?

Upvotes: 1

Views: 967

Answers (1)

revy
revy

Reputation: 4707

Solved setting debug to false in log4j.xml:

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

    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                   value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
        </layout>
    </appender>

    <root>
        <level value="OFF" />
        <appender-ref ref="console" />
    </root>

</log4j:configuration>

Upvotes: 1

Related Questions