Файл настроек журналирования

В этом разделе описывается конфигурационный файл журналов с настройками по умолчанию и особенности журналирования, типичные для SberMobile Server.

Вот конфигурация по умолчанию:

<?xml version="1.0" encoding="UTF-8" ?>
<Configuration monitorInterval="10">
 <Appenders>
<Console name="console" target="SYSTEM_OUT">
  <ThresholdFilter level="debug"/>
  <PatternLayout pattern="%d{HH:mm:ss,SSS} %-5p %-25c %m     -     [%t] %C.%M (%F:%L)%n%throwable{full}"/>
</Console>
<RollingFile name="file" fileName="logs/server.log" append="true" filePattern="logs/server.%d{yyyy-MM-dd}.log">
  <ThresholdFilter level="debug"/>
<PatternLayout pattern="%d{dd.MM.yyyy HH:mm:ss,SSS} %-5p %-25c %m     -     [%t] %C.%M (%F:%L)%n%throwable{full}" charset="UTF-8"/>
 <Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
 </Policies>
</RollingFile>
</Appenders>
 <Loggers>
<Logger name="ag" level="warn" additivity="false">
<AppenderRef ref="file"/>
<AppenderRef ref="console"/>
</Logger>
<Logger name="ag.alerts" level="info"/>
<!-- Other logging categories are skipped -->
   <Root level="warn">
  <AppenderRef ref="console"/>
<AppenderRef ref="file"/>
</Root>
</Loggers>
</Configuration>

Настройки журналирования по умолчанию представлены корневым элементом конфигурации, двумя аппендерами (содержат два направления журналирования) и несколькими именованными категориями журналирования. Элемент <root> определяет общий уровень журналирования событий как предупреждение (<Root level="warn">) (более подробно см. уровни журналирования). Эта настройка применяется ко всем сообщениям, приходящим от всех использующихся внутри сервера библиотек.

Сообщения от самого сервера регистрируются с уровнем warn. Это определяется тегом level="warn"  внутри секции <Logger name="ag"...>. Чтобы понизить уровень до отладочного для некоторой категории, измените этот тег на <level="debug"/>. Элементы <Logger> определяют, для какого именно компонента SberMobile Server Вы настраиваете уровень логирования.

В этой конфигурации также определены два аппендера - console и file. Аппендер - это направление для введения данных журнала. Это могут быть текстовые файлы, сообщения электронной почты и пр. 

RollingFile требует набора политик для определения, когда необходимо выполнить ротацию файла лога. TimeBasedTriggeringPolicy используется по умолчанию, то есть ротация будет выполняться раз в день. Одновременно могут использоваться различные политики.

Для более подробной информации изучите документацию по Log4j.