To tylko ostrzeżenie.
Ustalenie
Dzieje się tak, gdy nie można znaleźć domyślnych plików konfiguracyjnych, log4j.propertiesa log4j.xmlaplikacja nie wykonuje jawnej konfiguracji.
Aby to naprawić, po prostu utwórz / skopiuj log4j.propertieslub log4j.xmldo swojej lokalizacji na ścieżce klasy (zwykle takiej samej jak pliki jar).
Opcjonalnie można ustawić opcję Java: -Dlog4j.configuration=file:///path/to/log4j.properties.
log4j wykorzystuje Thread.getContextClassLoader().getResource() do lokalizowania domyślnych plików konfiguracyjnych i nie sprawdza bezpośrednio systemu plików. Znanie odpowiedniej lokalizacji do umieszczenia log4j.propertieslub log4j.xmlwymaga zrozumienia strategii wyszukiwania używanego modułu ładującego klasy. log4jnie zapewnia domyślnej konfiguracji, ponieważ dane wyjściowe do konsoli lub systemu plików mogą być zabronione w niektórych środowiskach.
Debugowanie
Do debugowania możesz spróbować użyć -Dlog4j.debug=trueparametru.
Konfiguracja log4j.properties
Przykładowa konfiguracja 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
Oto inny plik konfiguracyjny, który korzysta z wielu programów dołączających:
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
Jeśli używasz Solr , skopiuj <solr>/example/resources/log4j.propertiesdo lokalizacji na ścieżce klasy .
Przykładowa konfiguracja log4j.propertiesz Solr wygląda następująco:
# 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
Zobacz też: