Questo è solo un avvertimento.
Fissaggio
Ciò si verifica quando i file di configurazione di default log4j.properties
e log4j.xml
non può essere trovato e le esegue applicazioni alcuna configurazione esplicita.
Per risolvere il problema, è sufficiente creare / copiare log4j.properties
o log4j.xml
nella propria posizione sul percorso di classe (di solito lo stesso dei file jar).
Opzionalmente impostare l'opzione java: -Dlog4j.configuration=file:///path/to/log4j.properties
.
log4j
utilizza Thread.getContextClassLoader().getResource()
per individuare i file di configurazione predefiniti e non controlla direttamente il file system. Conoscere la posizione appropriata da posizionare log4j.properties
o log4j.xml
richiede la comprensione della strategia di ricerca del caricatore di classi in uso. log4j
non fornisce una configurazione predefinita poiché l'output sulla console o sul file system potrebbe essere vietato in alcuni ambienti.
Debug
Per il debug, puoi provare a utilizzare il -Dlog4j.debug=true
parametro.
Configurazione di log4j.properties
Esempio di configurazione di 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
Ecco un altro file di configurazione che utilizza più appendici:
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
Se si utilizza Solr , copiarlo <solr>/example/resources/log4j.properties
in una posizione sul percorso di classe .
La configurazione di esempio di log4j.properties
da Solr è simile a:
# 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
Guarda anche: