Dies ist nur eine Warnung.
Festsetzung
Dies geschieht , wenn die Konfigurationsdateien standardmäßig log4j.properties
und kann log4j.xml
nicht gefunden werden und die Anwendung führt keine explizite Konfiguration.
Um das zu beheben, einfach erstellen / kopieren log4j.properties
oder log4j.xml
in die ein Standort auf dem Classpath ( in der Regel die gleichen wie die JAR - Dateien).
Optional Java-Option einstellen : -Dlog4j.configuration=file:///path/to/log4j.properties
.
log4j
wird Thread.getContextClassLoader().getResource()
zum Auffinden der Standardkonfigurationsdateien verwendet und überprüft das Dateisystem nicht direkt. Um den geeigneten Speicherort zu kennen log4j.properties
oder log4j.xml
die Suchstrategie des verwendeten Klassenladeprogramms zu verstehen. log4j
bietet keine Standardkonfiguration, da die Ausgabe an die Konsole oder an das Dateisystem in einigen Umgebungen möglicherweise verboten ist.
Debuggen
Zum Debuggen können Sie versuchen, -Dlog4j.debug=true
Parameter zu verwenden .
Konfiguration von log4j.properties
Beispielkonfiguration von log4j.properties
:
# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=DEBUG, A1
# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender
# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
# Print only messages of level WARN or above in the package com.foo.
log4j.logger.com.foo=WARN
Hier ist eine weitere Konfigurationsdatei, die mehrere Appender verwendet:
log4j.rootLogger=debug, stdout, R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log
log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
Apache Solr
Wenn Sie Solr verwenden , kopieren Sie es <solr>/example/resources/log4j.properties
an eine Stelle im Klassenpfad .
Die Beispielkonfiguration log4j.properties
von Solr lautet wie folgt:
# Logging level
solr.log=logs/
log4j.rootLogger=INFO, file, CONSOLE
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
#- 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
Siehe auch: