markiros / monolog-adapter
Bitrix CMS的Monolog适配器
1.0.0
2024-07-29 10:47 UTC
Requires
- php: >=8.0
- monolog/monolog: 1.* || 2.* || 3.*
- theorchard/monolog-cascade: 0.*
This package is auto-updated.
Last update: 2024-09-29 11:22:06 UTC
README
Monolog适配器用于Bitrix CMS
- Monolog的Bitrix处理器和格式化工具。
- 处理Bitrix未捕获异常的处理器。
- 使用
.settings.php
配置日志记录器。
安装
使用Composer下载库
composer require markiros/monolog-adapter
在init.php
文件中写入
<?php \Bex\Monolog\MonologAdapter::loadConfiguration();
使用方法
配置您的日志记录器
在.settings.php
中配置日志记录器
return array( 'exception_handling' => array( 'value' => array( 'log' => array( 'class_name' => '\Bex\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' => '\Bex\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' => '\Bex\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' => '\Bex\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 >= 5.3
- Bitrix CMS >= 16.5.6