Вы можете пропустить, либо бегло изучить этот раздел и вернуться к нему, если вам понадобится изменение стандартных параметров логирования.
По умолчанию логи серверов сохраняются в папке
приложения. В качестве подсистемы логирования используется библиотека 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>