IBM Enterprise Records, Версия 5.1.2    

Конфигурирование файла log4j.properties

Программа IBM® Enterprise Records включает в себя образец файла log4j.properties, который можно сконфигурировать.

Файл log4j.properties находится в папке путь_установки_ier\ RecordsManagerSweep, и вы можете сконфигурировать поведение при записи в журнал, задав значения в этом файле для следующих свойств:

Каждому регистратору в файле log4j.properties назначен уровень. Если уровень регистратору не назначен, log4j автоматически назначает ему уровень родительского регистратора. По умолчанию регистратору назначается уровень WARN.

Можно сконфигурировать файл log4j.properties с разными параметрами регистратора, присоединителя и макета. Файл log4j.properties должен быть доступен для прикладной программы по пути класса во время выполнения. Записи в файле примера можно закомментировать, добавив к операторам префикс в виде символа решетки (#). Отмеченные символом решетки (#) записи во время выполнения пропускаются.

Чтобы открыть файл log4j.properties, перейдите в папку путь_установки_ier\RecordsManagerSweep, а затем откройте файл в текстовом редакторе.

Задайте регистратор и уровень ведения журнала

Сначала нужно задать регистратор. У вас может быть несколько регистраторов для классификации типа ведения журнала, нужного для прикладной программы. Чтобы включить запись в журнал для всех классов com.filenet.rm и соответствующих подпакетов, задайте регистратор, как показано в следующем операторе:

log4j.logger.com.filenet.rm 

Можно вместо этого задать имя регистратора. Например, можно назвать ваш регистратор APILOG, как показано в следующем примере:

log4j.logger.com.filenet.rm=warn, APILOG

Необходимо задать уровень ведения журнала, чтобы установить уровень подробностей сообщений, записываемых log4j во время выполнения. log4j поддерживает пять стандартных уровней ведения журнала, как показано в следующей таблице:

Табл. 1. Уровень сообщений, записываемых log4j во время выполнения
Уровень Описание
DEBUG Определяет подробно детализированные информационные события, которые наиболее полезны для отладки прикладной программы.
INFO Определяет информационные сообщения, характеризующие ход работы прикладной программы на уровне крупной детализации.
WARN Определяет потенциально опасные ситуации.
ERROR Определяет события ошибок, которые все же позволяют продолжить выполнение прикладной программы.
FATAL Определяет события серьезных ошибок, которые могут привести к остановке выполнения прикладной программы.

Документацию log4j о специальных и пользовательских уровнях ведения журнала смотрите на Web-сайте Apache. По умолчанию прикладная программа запускается на уровне WARN. Во время выполнения этот уровень может быть изменен на DEBUG, INFO, ERROR, WARN или FATAL. Вы можете включить также несколько операторов для одного регистратора, но с разными уровнями (например, DEBUG для одного оператора и WARN для другого). Один или другой оператор можно закомментировать в файле примера, добавив к ним как префикс символ решетки (#). При необходимости можно переключаться между уровнями DEBUG и WARN. Отмеченные символом решетки (#) записи во время выполнения пропускаются. Регистратор, у которого нет уровня, автоматически наследует уровень своего родительского регистратора. По умолчанию регистратору API в IBM Enterprise Records назначается уровень WARN.

Задать присоединители

Регистратор связан с одним или несколькими присоединителями, чтобы сообщения журнала от регистратора записывались на носители вывода. В файле log4j.properties можно задать присоединители разного типа, которые отправляют информацию журналов в заданное положение вывода. В следующей таблице приведен список всех присоединителей, которые используются в файле log4j.properties, вместе с их кратким описанием и соответствующими опциями.

Табл. 2. Присоединители, описания и фрагменты кода
Присоединитель Описание и фрагменты кода
NTEventLogAppender

Добавляет информацию к журналу событий Microsoft Windows NT. Этот присоединитель можно установить и использовать только в системе Windows.

log4j.appender.APILOG=org.apache.log4j.nt.NTEventLogAppender
ConsoleAppender

Добавляет сообщения журнала в потоки System.out (по умолчанию) или System.err с использованием заданного пользователем макета.

 log4j.appender.APILOG=org.apache.log4j.ConsoleAppender

Параметры:

  • Threshold=WARN: Этот присоединитель не вносит в журнал сообщения с приоритетом ниже указанного, даже если этот приоритет задан более низким. Этот параметр полезен для сокращения числа сообщений, например, в журнале файла при выводе всех сообщений на консоль.
  • ImmediateFlush=true: Параметр по умолчанию true означает, что сообщения журнала вообще не буферизуются. Если для ImmdiateFlush задано значение false, когда в прикладной программе происходит ошибка, несколько последних сообщений журнала могут остаться не записанными на постоянный носитель, .
FileAppender

Добавляет сообщения журнала к файлу.

 log4j.appender.APILOG=org.apache.log4j.FileAppender

Параметры:

  • Threshold=WARN: Этот присоединитель не вносит в журнал сообщения с приоритетом ниже указанного, даже если этот приоритет задан более низким. Этот параметр полезен для сокращения числа сообщений, например, в журнале файла при выводе всех сообщений на консоль.
  • ImmediateFlush=true: Параметр по умолчанию true означает, что сообщения журнала вообще не буферизуются. Если для ImmdiateFlush задано значение false, когда в прикладной программе происходит ошибка, несколько последних сообщений журнала могут остаться не записанными на постоянный носитель, .
  • File=mylog.txt: Имя файла для записи журнала. Для указания пути можно использовать ${ключ_некоторого_свойства} (например, системные свойства java.home или user.home).
  • Append=false: По умолчанию задано значение true, означающее присоединение к концу файла. При значении false файл перезаписывается при каждом запуске прикладной программы.
RollingFileAppender

Расширяет FileAppender для резервного копирования файлов журнала, когда они достигают определенного размера.

 log4j.appender.APILOG=org.apache.log4j.RollingFileAppender

Параметры:

  • Threshold=INFO: Этот присоединитель не вносит в журнал сообщения с приоритетом ниже указанного, даже если этот приоритет задан более низким. Этот параметр полезен для сокращения числа сообщений, например, в журнале файла при выводе всех сообщений на консоль.
  • ImmediateFlush=true: Параметр по умолчанию true означает, что сообщения журнала вообще не буферизуются. Если для ImmdiateFlush задано значение false, когда в прикладной программе происходит ошибка, несколько последних сообщений журнала могут остаться не записанными на постоянный носитель, .
  • File=mylog.txt: Имя файла для записи журнала. Для указания в начале имени пути можно использовать ${ключ_некоторого_свойства} (например, системные свойства java.home или user.home).
  • Append=false: По умолчанию задано значение true, означающее присоединение к концу файла. При значении false файл перезаписывается при каждом запуске прикладной программы.
  • MaxFileSize=100 KB: Единицами могут быть KB (килобайты), MB (мегабайты) или GB (гигабайты). После достижения заданного размера содержимое файла журнала переносится в другой файл. Присоединитель принимает логическое значение, определяющее, будут файлы вывода перезаписываться (false) или расширяться путем присоединения новой информации (true). Выбор по умолчанию значения false предотвращает безграничный рост файлов. Используйте этот параметр в среде разработки, где вы запускаете программу однократно. При задании значения true информация вывода присоединяется к существующему файлу журнала при каждом запуске JVM. Размер файла вывода можно ограничить, задав ключевое слово MaxFileSize. Например, если файл вывода cjapi_log.txt конфигурируется с параметрами MaxFileSize=128 KB и MaxBackupIndex=1, при превышении файлом размера в 128 Кбайт его содержимое автоматически переносится в файл cjapi_log.txt.1. Запись продолжится в пустой файл cjapi_log.txt.
  • MaxBackupIndex=2: Поддерживает не более двух (в этом примере) файлов резервных копий. Стирает более старые файлы. Параметр 0 означает, что файлы резервных копий не хранятся.

Задание макетов

В файле log4j.properties можно задать различные макеты, определяющие формат сообщений журнала. Можно задать, чтобы сообщения журнала включали в себя дату, время, имя модуля, имя потока и другую информацию. Эти параметры конфигурации используются во время выполнения при записи сообщения в журнал.

В следующей таблице приведен список всех макетов, которые используются в файле IBM Enterprise Records log4j.properties, вместе с их кратким описанием и соответствующими опциями.

Табл. 3. Макеты и описания
Схема Описание и фрагмент кода
SimpleLayout

Печатает уровень, символ тире (-) и затем текст сообщения журнала.

org.apache.log4j.SimpleLayout
PatternLayout

Форматирует события записи в журнал в соответствии с заданным шаблоном преобразования. Шаблоны преобразования состоят из текстового литерала и спецификаторов преобразования. Текстовый литерал выводится в том виде, как он задан. Спецификаторы преобразования состоят из символа %, за которым следует необязательный преобразователь формата и обязательный символ преобразования. Например, %-5p [%t]: %m%n - это шаблон преобразования, составленный из спецификатора преобразования приоритета, за которым следует текстовый литерал " [". За этой строкой следует спецификатор преобразования потока, а за ним текстовый литерал "]: ". За этой строкой следует спецификатор преобразования сообщения и зависящий от системы разделитель строк.

org.apache.log4j.PatternLayout

Параметры:

  • ConversionPattern=%-5p, [%t]:%m%n: Как форматировать каждое сообщение журнала (какую информацию включать).
HTMLLayout

Форматирует информацию вывода как таблицу HTML.

org.apache.log4j.HTMLLayout

Параметры:

  • LocationInfo=true: Выводит имя файла Java и номер строки. Значение по умолчанию: false.
  • Title=Название: Задает тег HTML <title>. Значение по умолчанию - Log4J Log Messages.
 

Форматирует информацию вывода как XML.

org.apache.log4j.xml.XMLLayout

Параметры:

  • LocationInfo=true: Выводит имя файла Java и номер строки. Значение по умолчанию: false.

Файл log4j.properties, содержащийся в IBM Enterprise Records, использует для формата сообщений журнала PatternLayout. В следующей таблице приведен список шаблонов преобразования, которые можно объявить в файле конфигурации, вместе с их краткими описаниями:

Табл. 4. Шаблоны преобразований и описания
Шаблон Описание
%t Имя потока, выполняющего требования записи в журнал
%c Имя регистратора, связанного с требованием записи в журнал
%-60c Выравнять имена регистраторов по левому краю не менее чем с 60 пробелами
%r Срок в миллисекундах с момента запуска прикладной программы
%p Уровень оператора журнала
%m Сообщение
%Time Время, когда выполняется запись в журнал
%d Дата события записи в журнал
%n Новая строка

Следующий оператор показывает, как включить PatternLayout и задать простой шаблон преобразования:

log4j.appender.APILOG.layout=org.apache.log4j.PatternLayout
log4j.appender.APILOG.layout.ConversionPattern=%-5p %d {dd MMM yyyy HH:mm:ss,SSS}, 
-%m, %r, [%M] % n

Например:

WARN, 20 Jun 2005 14:48:20,900, -[enter] getObjectStoreXML(ObjectStores), 
102042, [setLoggerMessage]
WARN, 20 Jun 2005 14:48:21,100, -[exit] getObjectStoreXML(ObjectStores), 
102342, [setLoggerMessage]


Отзыв

Последнее обновление: Ноябрь 2013 г.
configure_rm_logging.htm

© Copyright IBM Corp. 2013