В предыдущей главе объяснялись основные компоненты log4j. В этой главе объясняется, как вы можете настроить основные компоненты, используя файл конфигурации. Конфигурирование log4j включает в себя назначение уровня, определение Appender и указание объектов Layout в файле конфигурации.
Файл log4j.properties — это файл конфигурации log4j, в котором свойства хранятся в парах ключ-значение. По умолчанию LogManager ищет файл с именем log4j.properties в CLASSPATH .
-
Уровень корневого логгера определяется как DEBUG . Отладка прикрепляет к нему аппендиат по имени X.
-
Установите приложение с именем X в качестве допустимого приложения.
-
Установите макет для приложения X.
Уровень корневого логгера определяется как DEBUG . Отладка прикрепляет к нему аппендиат по имени X.
Установите приложение с именем X в качестве допустимого приложения.
Установите макет для приложения X.
log4j.properties Синтаксис:
Ниже приведен синтаксис файла log4j.properties для приложения X:
# Define the root logger with appender X log4j.rootLogger = DEBUG, X # Set the appender named X to be a File appender log4j.appender.X=org.apache.log4j.FileAppender # Define the layout for X appender log4j.appender.X.layout=org.apache.log4j.PatternLayout log4j.appender.X.layout.conversionPattern=%m%n
Пример log4j.properties
Используя приведенный выше синтаксис, мы определяем следующее в файле log4j.properties :
-
Уровень корневого логгера определяется как DEBUG , приложение DEBUG с именем FILE .
-
ФАЙЛ appender определяется как org.apache.log4j.FileAppender . Он записывает в файл с именем log.out, расположенный в каталоге журнала .
-
Определен шаблон макета % m% n , что означает, что за напечатанным сообщением журнала будет следовать символ новой строки.
Уровень корневого логгера определяется как DEBUG , приложение DEBUG с именем FILE .
ФАЙЛ appender определяется как org.apache.log4j.FileAppender . Он записывает в файл с именем log.out, расположенный в каталоге журнала .
Определен шаблон макета % m% n , что означает, что за напечатанным сообщением журнала будет следовать символ новой строки.
# Define the root logger with appender file log4j.rootLogger = DEBUG, FILE # Define the file appender log4j.appender.FILE=org.apache.log4j.FileAppender log4j.appender.FILE.File=${log}/log.out # Define the layout for file appender log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.conversionPattern=%m%n
Важно отметить, что log4j поддерживает подстановку переменных в стиле UNIX, например, $ {variableName}.
Уровень отладки
Мы использовали DEBUG с обоими наложителями. Все возможные варианты:
- TRACE
- DEBUG
- ИНФОРМАЦИЯ
- WARN
- ОШИБКА
- FATAL
- ВСЕ
Эти уровни объяснены позже в этом уроке.
Appenders
Apache log4j предоставляет объекты Appender, которые в первую очередь отвечают за печать сообщений журнала в разные пункты назначения, такие как консоли, файлы, сокеты, журналы событий NT и т. Д.
Каждый объект Appender имеет различные свойства, связанные с ним, и эти свойства указывают поведение этого объекта.
Имущество | Описание |
---|---|
расположение | Appender использует объекты Layout и связанный с ними шаблон преобразования для форматирования информации журнала. |
цель | Целевой объект может быть консолью, файлом или другим элементом в зависимости от приложения. |
уровень | Уровень необходим для управления фильтрацией сообщений журнала. |
порог | Appender может иметь пороговый уровень, связанный с ним, независимо от уровня регистратора. Appender игнорирует все сообщения журнала, уровень которых ниже порогового уровня. |
фильтр | Объекты Filter могут анализировать информацию журналирования за пределами соответствия уровня и решать, обрабатывать ли запросы журналирования конкретным Appender или игнорировать. |
Мы можем добавить объект Appender в Logger, включив следующий параметр в файл конфигурации следующим способом:
log4j.logger.[logger-name]=level, appender1,appender..n
Вы можете написать ту же конфигурацию в формате XML следующим образом:
<logger name="com.apress.logging.log4j" additivity="false"> <appender-ref ref="appender1"/> <appender-ref ref="appender2"/> </logger>
Если вы хотите добавить объект Appender в вашу программу, вы можете использовать следующий метод:
public void addAppender(Appender appender);
Метод addAppender () добавляет Appender к объекту Logger. Как показывает пример конфигурации, можно добавить множество объектов Appender в регистратор в список через запятую, каждый из которых печатает информацию журналирования по отдельным адресатам.
В нашем примере выше мы использовали только один appA FileAppender . Все возможные варианты приложения:
- AppenderSkeleton
- AsyncAppender
- ConsoleAppender
- DailyRollingFileAppender
- ExternallyRolledFileAppender
- FileAppender
- JDBCAppender
- JMSAppender
- LF5Appender
- NTEventLogAppender
- NullAppender
- RollingFileAppender
- SMTPAppender
- SocketAppender
- SocketHubAppender
- SyslogAppender
- TelnetAppender
- WriterAppender
Мы бы рассмотрели FileAppender в разделе « Вход в файлы», а JDBC Appender — в разделе « Вход в базу данных» .
раскладка
Мы использовали PatternLayout с нашим appender. Все возможные варианты:
- DateLayout
- HTMLLayout
- PatternLayout
- SimpleLayout
- XMLLayout
Используя HTMLLayout и XMLLayout, вы можете создавать журналы в HTML, а также в формате XML.
Форматирование форматирования
Вы научитесь форматировать сообщение журнала в главе « Форматирование журнала» .