Рубрики
Без рубрики

Учебник по добавлению Log4j

Приложения Log4j предоставляют конфигурацию для ведения журнала, такую как консоль, файл, база данных и т.д. На рисунке ниже показана иерархия классов приложений log4j. log4j

Автор оригинала: Pankaj Kumar.

Приложения Log4j Предоставляют конфигурацию для ведения журнала, такую как консоль, файл, база данных и т.д. На рисунке ниже показана иерархия классов приложений log4j.

приложение log4j

Это основа приложений log4j, которая определяет методы, реализуемые приложением.

скелет приложения log4j

Этот класс предоставляет код для общих функций, таких как поддержка пороговой фильтрации и поддержка общих фильтров. Это базовая реализация, которая расширяется всеми другими приложениями, такими как JDBCAppender , AsyncAppender , ConsoleAppender и т.д. В нем есть только один абстрактный метод добавление(событие LoggingEvent) , который должен быть реализован всеми приложениями. Мы можем написать ваше собственное приложение, реализовав этот метод.

Обычно используемое приложение log4j

Некоторые из наиболее часто используемых приложений:

  • ConsoleAppender : ConsoleAppender добавляет события журнала в System.out или System.err, используя макет, указанный пользователем. Цель по умолчанию-System.out. Это хорошо для целей отладки, но не очень полезно для использования в производственной среде.
  • RollingFileAppender , Dailyrolling FileAppender : Это наиболее широко используемые приложения, которые обеспечивают поддержку записи журналов в файл. RollingFileAppender используется для ограничения размера файла журнала и количества сохраняемых файлов резервных копий. DailyRollingFileAppender используется для входа в файлы на основе даты. Однако было замечено, что у Dailyrolling FileAppender возникают проблемы с синхронизацией и потерей данных, и его не рекомендуется использовать.
  • JDBCAppender : JDBCAppender обеспечивает отправку событий журнала в базу данных. Каждый вызов добавления добавляет в буфер ArrayList. Когда буфер заполнен, каждое событие журнала помещается в инструкцию sql (настраивается) и выполняется. Размер буфера, URL-адрес базы данных, Пользователь и пароль настраиваются стандартными способами log4j.
  • AsyncAppender : AsyncAppender позволяет пользователям асинхронно регистрировать события. Приложение AsyncAppender будет собирать отправленные ему события, а затем отправлять их всем прикрепленным к нему приложениям. Вы можете прикрепить несколько приложений к AsyncAppender. Обратите внимание, что мы можем настроить его только с помощью XML, т. е. DOMConfigurator . Это полезно, когда вы создаете много журналов и вам все равно, регистрируются ли они мгновенно. Есть вероятность, что журналы будут потеряны в случае сбоя сервера. AsyncAppender использует отдельный поток для обслуживания событий в своем буфере.
  • JMSAppender : Простое приложение, которое публикует события в теме JMS. События сериализуются и передаются как объектное сообщение типа сообщения JMS.

Конфигурация XML-приложения Log4j

Ниже приведена конфигурация на основе XML обычно используемых классов ConsoleAppender и RollingFileAppender.



	
	
		
	




	
	
	
	
	

	
		
	

Вы можете проверить код классов приложений, чтобы узнать параметры, которые вы можете настроить. Например, в JDBCAppender вы можете настроить URL-адрес базы данных, пользователя базы данных, пароль базы данных и т.д.

Конфигурация свойств приложения Log4j

Простой пример, показывающий конфигурацию приложений через файл свойств. Он определяет всю вышеуказанную конфигурацию на основе xml.

#Define console appender
log4j.appender.console=org.apache.log4j.ConsoleAppender
logrj.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-5p %c{1} - %m%n

#Define rolling file appender
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=logs/main.log
log4j.appender.file.Append=true
log4j.appender.file.ImmediateFlush=true
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=5
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d %d{Z} [%t] %-5p (%F:%L) - %m%n

Это все для быстрого обзора приложения log4j.

Список литературы :