Инобитек DICOM-Сервер

1.2. Настройка протоколирования

Протоколирование реализовано на основе библиотеки "log4cpp". Подробную информацию можно получить на сайте производителя log4cpp.sourceforge.net.

Протоколирование настраивается с помощью файла настроек. Файл настроек создаётся при установке и содержит оптимальные настройки протоколирования.

Файл состоит из секций вида:

log4cpp.rootCategory=INFO, A1
log4cpp.appender.A1=RollingFileAppender
log4cpp.appender.A1.fileName=C:/PACSServer/logs/pacs_srv.log
log4cpp.appender.A1.maxFileSize=10485760
log4cpp.appender.A1.maxBackupIndex=10
log4cpp.appender.A1.layout=PatternLayout
log4cpp.appender.A1.layout.ConversionPattern=%d [%5p %c] %m%n

По умолчанию в файле содержится одна секция.

Протоколирование ведется с помощью аппендеров — приемников сообщений, поступающих из программы. В примере имя аппендера указано в первой строке ("А1"). Аппендер выполняет следующие функции:

  • Фильтрация сообщений по уровню протоколирования. В примере указан уровень "INFO".
  • Форматирование сообщений. В примере используется паттерн %d [%5p %c] %m%n.
  • Вывод сообщений. В примере используется тип аппендера "RollingFileAppender", предназначенный для вывода сообщений в файл. Для этого типа аппендера заданы следующие параметры:
    • Путь к файлу (C:/PACSServer/logs/pacs_srv.log).
    • Максимальный размер файла в байтах, по достижении которого запись в этот файл прекращается (10485760).
    • максимальное количество файлов, по достижении которого самый старый файл удаляется (10).

Доступные уровни протоколирования:

  • DEBUG: записываются детальная диагностическая информация. Пример: порядок вызова методов при обработке команды. Также записываются сообщения уровней INFO, WARN, ERROR, FATAL;
  • INFO (установлен по умолчанию): записываются основные этапы работы. Примеры: входящее соединение, результат обработки команды. Также записываются сообщения уровней WARN, ERROR, FATAL;
  • WARN записывается любое не характерное поведение программы, не приводящие к нарушениям работы. Также записываются сообщения уровней ERROR, FATAL;
  • ERROR: записываются ошибки, влияющие на работу программы, но не приводящие к завершению работы. Пример: невозможность подключения к СУБД при запуске, отсутствия доступа к файлам ресурсов или другим службам. Также записываются сообщения уровня FATAL;
  • FATAL: записываются ошибки, после которых выполнение программы невозможно.

Для уровня DEBUG может быть включен расширенный режим журналирования (TRACE). Для этого добавьте в файл настроек "srv_settings.ini" строку "enableTraceLoggerLevel=true". По умолчанию данный параметр отсутствует в файле настроек, его значение по умолчанию — false. Чтобы выключить режим журналирования, установите параметр "enableTraceLoggerLevel" равным false или удалите его из файла настроек.

Внимание! Чем подробнее уровень журналирования, тем за меньший промежуток времени хранится информация в файлах протокола. При установке достаточно подробного уровня (особенно это актуально для расширенного режима журналирования) может потребоваться увеличить максимальный размер файлов журнала (параметр "maxFileSize") и/или количество одновременно хранящихся файлов (параметр "maxBackupIndex").

Из веб-консоли скачиваются файлы протокола и выводится текст последнего файла, связанного с аппендером "А1". Если данный аппендер отсутствует, то скачивание файлов протокола и вывод протокола в веб-консоль невозможен.

Для применения изменений необходимо перезапустить DICOM-Сервер.