Middle
224
Какви са начините за конфигуриране на log4j?
Отговор от AI
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 съобщение"); -
Чрез 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 файлът има приоритет пред файла с свойства, ако и двата са налични и не е зададено системно свойство.