Bijan
Bijan

Reputation: 6772

How to get rid of SolrJ logging error? No appenders could be found for logger (org.apache.solr.client.solrj.impl.HttpClientUtil)

log4j:WARN No appenders could be found for logger (org.apache.solr.client.solrj.impl.HttpClientUtil).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

I'm using SolrJ as a library in a custom Java app.

Here are the jars in my app:

lib/c3p0-0.9.5-pre8.jar
lib/commons-exec-1.2.jar
lib/lucene-analyzers-common-4.8.0.jar
lib/mchange-commons-java-0.2.7.jar
lib/mysql-connector-java-5.0.8-bin.jar
lib/solr-core-4.7.2.jar
lib/solr-solrj-4.7.2.jar

lib/solrj-lib:
commons-io-2.1.jar
httpclient-4.3.1.jar
httpcore-4.3.jar
httpmime-4.3.1.jar
jcl-over-slf4j-1.6.6.jar
jul-to-slf4j-1.6.6.jar
log4j-1.2.16.jar
noggit-0.5.jar
slf4j-api-1.6.6.jar
slf4j-log4j12-1.6.6.jar
wstx-asl-3.2.7.jar
zookeeper-3.4.5.jar

And here's my log4j.properties file, which is located in my $ROOT/src/ folder. When I remove this file, the logger starts outputting lots of debug logs, so I know it's being detected at some level.

#  Logging level
solr.log=log/

#log4j.rootLogger=INFO, file, CONSOLE
log4j.rootLogger=INFO

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%-4r [%t] %-5p %c %x \u2013 %m%n

log4j.logger.com.mchange.v2.c3p0=DEBUG
log4j.category.com.mchange=DEBUG
log4j.logger.com.mchange=DEBUG

#- size rotation with log cleanup.
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.MaxFileSize=4MB
log4j.appender.file.MaxBackupIndex=9

#- File to log to and log format
log4j.appender.file.File=${solr.log}/solr.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%-5p - %d{yyyy-MM-dd HH:mm:ss.SSS}; %C; %m\n

log4j.logger.org.apache.zookeeper=WARN
log4j.logger.org.apache.hadoop=WARN

# set to INFO to enable infostream log messages
log4j.logger.org.apache.solr.update.LoggingInfoStream=OFF

Upvotes: 2

Views: 3551

Answers (1)

jeorfevre
jeorfevre

Reputation: 2316

Please this config and place it in the directory src/test/resources

log4j.properties :

  # Root logger option

    log4j.rootLogger=INFO, stdout
    log4j.logger.com.rizze.xx.tools=DEBUG
    log4j.logger.com.rizze.yy.inject=DEBUG
    log4j.logger.com.rizze.zz.tools.db=DEBUG

    # Direct log messages to stdout
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.Target=System.out
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

you can use the command as a VM argument when you call your program : -Dlog4j.debug=true in order to debug the log4j config.

please take also a look to solr wiki that seems to be hard, but that is great! :)

Upvotes: 1

Related Questions