user1979244
user1979244

Reputation: 11

I don't understand why this log4j.xml is wrong

I want to log into Cassandra db with log4j.

So I write this log4j.xml configuration:

    <appender name="DBlog" class="org.apache.log4j.jdbc.JDBCAppender">
      <param name="URL" value="jdbc:cassandra://localhost:9160/MyKeyspace" />
      <param name="Driver" value="org.apache.cassandra.cql.jdbc.CassandraDriver" />
      <param name="User" value="" />
      <param name="Password" value="" />
      <layout class="..."/>
    </appender>

    <logger name="logger">
      <level value="info"/>
      <appender-ref ref="DBlog" />
    </logger>

Logging is doing well. But, log4j generates this message:

log4j:WARN No appenders could be found for logger (org.apache.cassandra.cql.jdbc.CassandraDriver).
log4j:WARN Please initialize the log4j system properly.

I don't understand what is wrong. If anyone knows the answer, please help.

Upvotes: 1

Views: 413

Answers (1)

Jintian DENG
Jintian DENG

Reputation: 3202

You need to define one more logger:

        <logger name="org.apache.cassandra.cql.jdbc">
               <level value="info"/>
               <appender-ref="DBlog" />
        </logger>

And I think it's a good practice to define root logger in any cases.

        <root>
               <level value="info"/>
               <appender-ref ref="DBlog"/>
        </root>

Upvotes: 1

Related Questions