Настройка логирования (debug.conf)
Все логи ispmanager пишутся в каталог /usr/local/mgr5/var. При достижении максимального размера (по умолчанию 100Мб) содержимое лога перемещается в каталог /usr/local/mgr5/var/logs и пакуется в архив. К имени файла добавляется суффикс — дата и время создания, а также порядковый номер (на случай, если за секунду лог будет перемещён более одного раза). Оригинальный файл при этом обрезается и первой строкой в него записывается имя только что созданного архива.
Ispmanager позволяет гибко настраивать детализацию логов. Все настройки записываются в файл /usr/local/mgr5/etc/debug.conf. Он может содержать комментарии (все, что идёт после символа #), глобальные настройки (начинаются с префикса SET), и настройки детализации для отдельных модулей.
Из глобальных настроек доступны:
- max_log_size — максимальный размер лога в байтах, при превышении которого он будет перемещен в каталог /usr/local/mgr5/var/logs;
- color — использовать или не использовать цветные логи. Возможные значения on/off, по умолчанию — on;
- storage — возможные значения:
- file — записывать лог в файл;
- console — выводить содержимое лога в stdout.
Примеры:
SET color=off # отключить цветные логи
SET mgrctl.max_log_size=1048576 # установить максимальный размер лога /var/mgrctl.log в один мегабайт
Настройка детализации имеет следующий формат:
<имя лога>[.<имя модуля>] <уровень детализации> [дополнительные условия]
Примеры:
* 6 # установить для всех модулей всех логов уровень детализации 6
mgrctl.* 5 # установить для mgrctl.log уровень детализации 5
ispmgr.* 9 ip=192.168.1.1 # установить для core.log уровень детализации 9, но только для запросов приходящих с адреса 192.168.1.1
ispmgr.* 9 user~test # установить для core.log уровень детализации 9, но только для запросов приходящих от пользователей в имени которых содержится подстрока test
При наличии нескольких конкурирующих правил те, в которых указано имя модуля, имеют приоритет над общими. В случае нескольких правил для определенного модуля — будет применено правило с максимальным уровнем детализации.
Настройки логирования читаются при старте приложения. Можно заставить панель перечитать настройки, послав ей сигнал HUP.
Уровни логирования:
# 1 - замечания;
# 2 - критические ошибки;
# 3 - ошибки;
# 4 - предупреждения;
# 5 - информация о запросах;
# 6 - расширенная информация;
# 7 - сообщения удаленных сервисов;
# 8 - трассировка кода;
# 9 - отладочная информация.