Перейти к содержанию

Логи сервера приложений

Логирование ошибок возникающих на сервере приложений

Для включения логирования ошибок серверов в базу данных необходимо настроить соответствующие параметры на каждом сервере (mfc, mfc-core).

Для mfc-core необходимо в файле .env указать канал database в параметре LOG_CHANNEL. Данный канал сохраняет все ошибки (в т.ч. возникающие в консольных программах) в базу данных.

Для основного сервера mfc необходимо в файле server.ini указать канал database в параметре LOG_CHANNEL.

При этом программа возможно будет выводить не информативную ошибку, если в момент сохранения будет нарушена связь с базой данных.

Для просмотра списка возникших ошибок надо перейти в меню Настройки-Логи-Логи сервера приложений. Данная форма проверит настройку mfc-core и если включено сохранение логов в БД отобразит таблицу с логами. Иначе выведет сообщение, что логирование в базу данных не включено.

При необходимости можно перейти в старую форму просмотра логов. Старая форма учитывала наличие файлов с логами на основном сервере.

Форма просмотра логов содержит ряд фильтров для более точного поиска и анализа.

Описание фильтров:

  • Период позволяет указать значения с точностью до минуты.
  • Сервис позволяет выбрать из списка серверов приложений, которые сохраняют логи. Где mfc - основной сервер, mfc-core - API сервер
  • Канал содержит список каналов. Название канала включает в себя название сервиса и имя канала в рамках данного сервиса
  • Табельный номер работника может быть не указан, если на момент сохранения лога пользователь в сервисе не был идентифицирован
  • Код ответа содержит список часто встречаемых значений
  • Тип ошибки косвенно указывает на поведение сервера приложения при возникновении ошибки. Где:
    1. ERROR - скорее показывает на необработанную ошибку, которую желательно передать в разработку для анализа и обработки (если обработать данную ошибку возможно)
    1. WARNING - большинство ошибок проекта mfc будут с этим типом. Однозначно определить обработана ошибка или нет затруднительно.
    1. Некоторые ошибки могут содержать постфикс _APPLICATION. Данные ошибки обработаны и вызываются в рамках работы бизнес логики. Они косвенно влияют на работоспособности системы.

При необходимости можно просмотреть информацию о сохраненной ошибке. Поле context будет содержать стек выполнения программы с возможностью определить место в котором данная ошибка возникла.

Поле extra может содержать дополнительную информацию. Если запрос происходил через протокол http сохраняется адрес страницы (REQUEST_URI). Для консольных команд (вызываемых на mfc-core) будет указаны параметры командной строки (CLI_ARGV)

Периодически необходимо очищать логи. Для этого необходимо указать кол-во дней устаревания логов (по умолчанию логи старше 30 дней рекомендуются к удалению).

Перед удалением необходимо рассчитать кол-во записей для удаления. И отправить команду на удаление