Логирование
Ядро предоставляет набор PSR-3 совместимых логгеров (FileLogger, SysLogger, EventLogger) с поддержкой ротации файлов по размеру и структурированного формата JsonLines. Конфигурация логирования системных классов (например, исходящих запросов HttpClient) настраивается декларативно в секции loggers файла .settings.php.
Прогресс хранится в этом браузере. Войдите, чтобы сохранить его в аккаунте.
Что нужно понимать
-
1
Настройка логов
-
2
Уровни логирования
-
3
Ротация логов
Материалы
Официальная документация
-
Конфигурация ядра: раздел «Обработка ошибок» Новая дока
Материалы BXMax
Проверь себя
На проде фатальная ошибка не оставила следа ни в одном файле. Что не настроено?
Параметр log в секции exception_handling файла .settings.php: путь к файлу и log_size. Без него при debug равном false необработанные ошибки никуда не пишутся. Секция loggers к этому не относится, она про PSR-3 логгеры.
Лог интеграции за год вырос до нескольких гигабайт. Какой параметр FileLogger за это отвечает?
Второй аргумент конструктора maxSize. По умолчанию 1 МБ с однократной ротацией при превышении; значение 0 ротацию выключает, и файл растёт без ограничений.
Нужен лог всех исходящих запросов HttpClient без правки кода ядра. Как?
Через фабрику: HttpClient берёт логгер по идентификатору main.HttpClient, и в секции loggers файла .settings.php задают класс с параметрами или замыкание constructor, уровень и форматтер. Замыкания хранят в .settings_extra.php, чтобы их не затёрло сохранение настроек из админки.
Заказчик жалуется, что вчера в 14:10 не пришёл заказ из 1С, а логов нет. Что должно было быть записано, чтобы разбор занял пять минут?
Входящий запрос целиком, ответ внешней системы и идентификатор заказа в каждой строке через context. Для агентов и команд — время старта, число обработанных записей и причина остановки.
Не сходится?
Спросите ассистента BXMax: он знает документацию и материалы сайта по этой теме.
Знаете материал лучше?
Предложите ссылку: после проверки она появится в этом разделе.
Войти, чтобы предложить