Вы можете пропустить, либо бегло изучить этот раздел и вернуться к нему, если вам понадобится изменение стандартных параметров логирования.
По умолчанию логи серверов сохраняются в папке приложения. В качестве подсистемы логирования используется библиотека log4j. Конфигурирование логирования заключается в правке файла (log4j-radius.xml - для RADIUS-сервера, log4j-collector.xml - для коллектора). Это xml-файл определенной структуры.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="APPLICATION" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="${log.dir.path}${log.prefix}.log" />
<param name="MaxFileSize" value="100MB" />
<param name="MaxBackupIndex" value="2" />
<param name="Append" value="false" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{MM-dd/HH:mm:ss} %5p [%t] %c{1} - %m%n" />
</layout>
<filter class="ru.bitel.common.logging.Log4JMDCFilter">
<param name="key" value="nestedContext" />
<param name="value" value="${log.prefix}" />
</filter>
</appender>
<appender name="MQ" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="${log.dir.path}${log.prefix}.mq.log" />
<param name="MaxFileSize" value="100MB" />
<param name="MaxBackupIndex" value="2" />
<param name="Append" value="false" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{MM-dd/HH:mm:ss} %5p [%t] %c{1} - %m%n" />
</layout>
<filter class="ru.bitel.common.logging.Log4JMDCFilter">
<param name="key" value="nestedContext" />
<param name="value" value="mq" />
</filter>
</appender>
<appender name="ASYNC" class="ru.bitel.common.logging.Log4jAsyncAppender">
<appender-ref ref="APPLICATION"/>
</appender>
<root>
<priority value="INFO" />
<appender-ref ref="ASYNC" />
</root>
</log4j:configuration>Логирование в системе основано на категориях и контекстах. Разные контексты (server/script или collector/processor/loader) разнесены по разным аппендерам. Аппендер - это куда и как добавляется запись лога - т.е., например в файл server.log такого вида:
server 04-06/12:04:49 INFO [main] DefaultServerSetup - Init DB connection pools server 04-06/12:04:49 INFO [main] DefaultServerSetup - Init trash pools.. server 04-06/12:04:49 INFO [main] DefaultServerSetup - Init trash pool trash_1 server 04-06/12:04:49 INFO [main] Server - Starting BGBillingServer.. server 04-06/12:04:49 INFO [main] Server - HTTP port: 6565 server 04-06/12:04:49 INFO [main] Server - Starting HTTP connector.. server 04-06/12:04:49 INFO [main] Server - HTTPS port: -1
root - это главная категория, по умолчанию priority/@value='INFO', т.е. все логирование в режиме info. .
<root> <priority value="DEBUG" /> <appender-ref ref="ASYNC" /> </root>
Также в каждом аппендере можно указать фильтр по приоритету. Например, в root указать DEBUG, а в аппендере APPLICATION добавить указанную ниже ветку, чтобы логирование для всех контекстов, кроме APPLICATION было в режиме DEBUG.
<param name="Threshold" value="ERROR" />
<appender name="MQ" class="org.apache.log4j.RollingFileAppender">
<param name="Threshold" value="ERROR" />
<param name="File" value="${log.dir.path}${log.prefix}.mq.log" />
<param name="MaxFileSize" value="100MB" />
<param name="MaxBackupIndex" value="2" />
<param name="Append" value="false" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{MM-dd/HH:mm:ss} %5p [%t] %c{1} - %m%n" />
</layout>
<filter class="ru.bitel.common.logging.Log4JMDCFilter">
<param name="key" value="nestedContext" />
<param name="value" value="mq" />
</filter>
</appender>