Работает с php 8.1 и выше.
Для работы требуется:
Модуль содержит в себе только программную часть, которую можно использовать в других модулях.
Документация по модулю находится в папке bitrix/modules/shef.problems/docs/*.md
Тут описаны только некоторые возможности:
Для работы требуется:
- установленный модуль shef.options
- установленный модуль shef.uiclear
Модуль содержит в себе только программную часть, которую можно использовать в других модулях.
Документация по модулю находится в папке bitrix/modules/shef.problems/docs/*.md
Тут описаны только некоторые возможности:
- Подключает библиотеку Monolog для создания своих логгеров
- Содержит настроенные логгеры для вывода на экран, печати в файл, записи в таблицу событий \CEventLog
- Организует ротацию логов через logrotate
- Позволяет исключения \Throwable конвертировать в \Bitrix\Main\Error
- В Битрикс24 администраторам добавляет в пункт меню Расширения ссылки на логи
Для работы требуется:
В настройках указываем сотрудников на каждую роль:
Пример настройки собственного логгера
В примере указан логгер `test` с обработчиками:
Теперь можем вызывать через `\Bitrix\Main\Diag\Logger::create`
Пример:
- установленный модуль shef.options
- установленный модуль shef.uiclear
В настройках указываем сотрудников на каждую роль:
- Сотрудник по умолчанию
Ему будут поступать проблемы если не понятно на кого они адресованы. - Администратор Б24
Пользователь с правами администратора. Ему будут поступать проблемы связанные с работой Б24. - Директор
Ему будут поступать очень важные проблемы. - Отвечает за синхронизации
Ему будут поступать проблемы связанные с синхронизациями. - Отвечает за номенклатуру и ценообразование
Ему будут поступать проблемы связанные с товарами и ценами. - Отвечает за продажи и CRM
Ему будут поступать проблемы связанные с продажами и CRM.
Пример настройки собственного логгера
В примере указан логгер `test` с обработчиками:
- запись событий уровня `\Monolog\Level::Debug` в файл `/local/log/test.log`
- запись событий уровня `\Monolog\Level::Info` в файл Telegram (apiKey и channel нужно свои подставить)
<?php return [ "loggers" => [ "value" => [ "test" => [ "constructor" => static function () { if(in_array( \Bitrix\Main\Loader::includeSharewareModule("shef.problems"), [ \Bitrix\Main\Loader::MODULE_INSTALLED, \Bitrix\Main\Loader::MODULE_DEMO, ] )) { return (new \Shef\Problems\Integration\Monolog\Logger("test")) ->pushHandler( (new \Monolog\Handler\StreamHandler( stream: \Bitrix\Main\Application::getDocumentRoot()."/local/log/test.log", level: \Monolog\Level::Debug )) ) ->pushHandler( (new \Monolog\Handler\TelegramBotHandler( apiKey: "1848526049:UNasdasd_DEMO", channel: "-300000001", level: \Monolog\Level::Info )) ) ; } return null; }, ], ], "readonly" => true ] ]; ?> |
Пример:
<?php $logger = \Bitrix\Main\Diag\Logger::create("test"); $logger?->debug("Запишет в файл", ["в телеграм НЕ ОТПРАВИТ"]); $logger?->info("Запишет в файл", ["в телеграм ОТПРАВИТ"]); ?> |