Назад к вопросам
Middle
82
questionbank
Какие существуют способы конфигурирования log4j?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
log4j может быть сконфигурирован одним из следующих способов:
-
Программно: Конфигурация задается прямо в коде Java.
// Пример программной настройки org.apache.log4j.BasicConfigurator.configure(); org.apache.log4j.Logger rootLogger = org.apache.log4j.Logger.getRootLogger(); rootLogger.setLevel(org.apache.log4j.Level.DEBUG); org.apache.log4j.ConsoleAppender consoleAppender = new org.apache.log4j.ConsoleAppender( new org.apache.log4j.PatternLayout("%d [%t] %-5p %c - %m%n") ); rootLogger.addAppender(consoleAppender); org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(MyClass.class); logger.debug("Debug message"); -
Через файл свойств (properties): Конфигурация задается в файле
.properties. Log4j автоматически ищет файл с именемlog4j.propertiesв classpath.# Пример файла log4j.properties log4j.rootLogger=DEBUG, console, file # Конфигурация консольного аппендера log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%d [%t] %-5p %c - %m%n # Конфигурация файлового аппендера log4j.appender.file=org.apache.log4j.FileAppender log4j.appender.file.File=application.log log4j.appender.file.Append=true log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d [%t] %-5p %c - %m%n -
Через XML-файл: Конфигурация задается в файле
.xml. Log4j может автоматически находить файлlog4j.xmlв classpath.<!-- Пример файла log4j.xml --> <!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="console" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/> </layout> </appender> <appender name="file" class="org.apache.log4j.FileAppender"> <param name="File" value="application.log"/> <param name="Append" value="true"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/> </layout> </appender> <root> <level value="DEBUG"/> <appender-ref ref="console"/> <appender-ref ref="file"/> </root> </log4j:configuration>
Порядок загрузки конфигурации (по умолчанию):
Log4j ищет файлы конфигурации в следующем порядке:
- Системное свойство
log4j.configuration(указывает путь к файлу конфигурации). - Файл
log4j.xmlв classpath. - Файл
log4j.propertiesв classpath. - Если ни одного файла не найдено, используется базовая конфигурация (
ConsoleAppenderс уровнемERROR).
Приоритет конфигурации:
- Программная конфигурация имеет самый высокий приоритет.
- Затем идет конфигурация, указанная через системное свойство.
- XML-файл имеет приоритет над файлом свойств, если оба присутствуют и не указано системное свойство.