datravel / php-debug
调试组件提供工具,以简化PHP代码的调试。
dev-master
2016-07-01 11:27 UTC
Requires
- doctrine/common: >=2.0
- psr/log: ~1.0
- theorchard/monolog-cascade: ^0.2.0
Requires (Dev)
- guzzlehttp/guzzle: 5.*
This package is not auto-updated.
Last update: 2024-09-28 18:37:05 UTC
README
PHPDebug是一个Monolog Cascade扩展,它提供了处理和记录不同级别错误的机会。
安装
在您的composer.json
文件中将PHPDebug添加为需求,或者运行
$ composer require datravel/php-debug
使用方法
然后,就像下面这样使用您的记录器
Cascade::fileConfig($config); Log::info('Well, that works!'); Log::error('Maybe not...', ['some'=>'extra data']);
配置您的记录器
Monolog Cascade支持以下配置格式
- Yaml
- JSON
- Php数组
配置结构
以下是一个示例Php数组配置文件
<?php $config = [ 'formatters' => [ 'dashed' => [ //'class' => 'Monolog\Formatter\LineFormatter', 'class' => \Monolog\Formatter\JsonFormatter::class //'format' => '%datetime%-%channel%.%level_name% - %message%' ] ], 'handlers' => [ 'output' => [ 'class' => \Monolog\Handler\StreamHandler::class, 'level' => 'ERROR', 'formatter' => 'dashed', 'stream' => 'php://output' ], 'console' => [ 'class' => \Monolog\Handler\StreamHandler::class, 'level' => 'DEBUG', 'formatter' => 'dashed', 'stream' => 'php://stdout' ], 'console' => [ 'class' => 'Monolog\Handler\StreamHandler', 'level' => 'DEBUG', 'formatter' => 'dashed', 'stream' => 'php://stdout' ], 'file' => [ 'class' => 'Monolog\Handler\StreamHandler', 'level' => 'INFO', 'formatter' => 'dashed', 'stream' => './example_info.log' ] ], 'processors' => [ 'web_processor' => [ 'class' => 'Monolog\Processor\WebProcessor' ] ], 'loggers' => [ 'mainLogger' => [ 'handlers' => [ 0 => 'output', 1 => 'console', 2 => 'file' ], 'processors' => [ 0 => 'web_processor' ] ] ], 'disable_existing_loggers' => true, 'errorReporting' => E_ALL & ~E_DEPRECATED & ~E_STRICT, ];
有关配置的更多信息 - https://github.com/theorchard/monolog-cascade
什么是DebugException
DebugException是一种异常,您可以将其创建为对象,添加额外数据并抛出。抛出后,调试器将捕获此异常并将额外数据保存到日志中。示例
throw (new DebugException())->setExtra('mixed data');
或
try {
...
} catch (\Exception $e) {
throw (new DebugException())->setCustomTrace($e->getTraceAsString());