vadimpalgov / monolog-bitrix
Bitrix CMS 的 Monolog 适配器
dev-master
2023-12-31 10:06 UTC
Requires
- php: >=7.4
- monolog/monolog: 1.* || ^2.0
- psr/log: ^1.1.1
- theorchard/monolog-cascade: ~0.2
This package is auto-updated.
Last update: 2024-09-30 01:47:02 UTC
README
Monolog 的 Bitrix CMS 适配器
- Bitrix 处理器和格式化程序用于 Monolog。
- Bitrix 的未捕获异常处理程序。
- 使用
.settings.php配置日志记录器。
基于 MonologAdapter 的包
安装
使用 Composer 下载库
composer require vadimpalgov/monolog-bitrix
在 init.php 文件中编写
<?php \VadimPalgov\Monolog\MonologAdapter::loadConfiguration();
使用
配置您的日志记录器
在 .settings.php 中配置日志记录器
return array( 'exception_handling' => array( 'value' => array( 'log' => array( 'class_name' => '\VadimPalgov\Monolog\ExceptionHandlerLog', 'settings' => array( 'logger' => 'app' ), ), ), 'readonly' => false ), 'monolog' => array( 'value' => array( 'handlers' => array( 'default' => array( 'class' => '\Monolog\Handler\StreamHandler', 'level' => 'DEBUG', 'stream' => '/path/to/logs/app.log' ), 'feedback_event_log' => array( 'class' => '\VadimPalgov\Monolog\Handler\BitrixHandler', 'level' => 'DEBUG', 'event' => 'TYPE_FOR_EVENT_LOG', 'module' => 'vendor.module' ), ), 'loggers' => array( 'app' => array( 'handlers'=> array('default'), ), 'feedback' => array( 'handlers'=> array('feedback_event_log'), ) ) ), 'readonly' => false ) );
使用规则属性通过 instanceof 逻辑过滤未捕获的异常
'exception_handling' => array( 'value' => array( 'log' => array( 'class_name' => '\VadimPalgov\Monolog\ExceptionHandlerLog', 'settings' => array( 'logger' => 'app', 'rules' => array( 'instanceof' => '\Vendor\Exception\UnloggedInterface', // or opposite: !instanceof ) ), ), ), 'readonly' => false )
使用上下文属性更改日志调试数据格式
'exception_handling' => array( 'value' => array( 'log' => array( 'class_name' => '\VadimPalgov\Monolog\ExceptionHandlerLog', 'settings' => array( 'logger' => 'app', 'context' => function ($exception) { return array( 'file' => $exception->getFile(), 'line' => $exception->getLine(), 'trace' => $exception->getTrace(), 'some_param' => $exception->getSomeParam(), ); }, ), ), ), 'readonly' => false )
记录日志
从您的应用程序中记录日志。例如,在从反馈表创建新消息时记录日志
<?php use Monolog\Registry; $logger = Registry::getInstance('feedback'); // Write info message with context: invalid message from feedback $logger->info('Failed create new message on feedback form', array( 'item_id' => 21, 'Invalid data' => $addResult->getErrorMessages(), // error savings 'Form data' => $formRequest // data from feedback form ));
在 Bitrix 控制面板中的结果
要求
- PHP >= 7.4
- Bitrix CMS >= 16.5.6
