Это всего лишь предупреждение.
Крепежная
Это происходит, когда файлы конфигурации по умолчанию log4j.properties
иlog4j.xml
не могут быть найдены и приложение выполняет никакой явной конфигурации.
Чтобы это исправить, просто создайте / скопируйте log4j.properties
или log4j.xml
укажите местоположение на пути к классам (обычно такое же, как у файлов jar).
По желанию можно указать вариант Java: -Dlog4j.configuration=file:///path/to/log4j.properties
.
log4j
используется Thread.getContextClassLoader().getResource()
для поиска файлов конфигурации по умолчанию и не проверяет файловую систему напрямую. Знание подходящего места для размещения log4j.properties
или log4j.xml
требует понимания стратегии поиска используемого загрузчика классов. log4j
не предоставляет конфигурацию по умолчанию, так как вывод в консоль или в файловую систему может быть запрещен в некоторых средах.
Отладка
Для отладки вы можете попробовать использовать -Dlog4j.debug=true
параметр.
Конфигурация log4j.properties
Пример конфигурации 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
Вот еще один файл конфигурации, который использует несколько приложений:
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
Если вы используете Solr , скопируйте <solr>/example/resources/log4j.properties
в путь на пути к классам .
Пример конфигурации log4j.properties
от Solr выглядит так:
# 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
Смотрите также: