chabiselx/debuggertools

此包的最新版本(0.4.1.2)没有可用的许可证信息。

创建日志以了解算法


README

Latest Version License

描述

DebuggerTools 是一个面向开发者的工具包,旨在简化 PHP 应用程序的调试。它提供了一组类,用于捕获和分析代码执行的各个方面,包括

  • Logger:用于记录日志消息、错误和各种信息。
  • 时间监控器:用于测量和记录代码段执行的时间。
  • 内存监控器:用于测量代码段消耗的内存。
  • 跟踪:用于跟踪函数调用并精细跟踪代码执行。

目录

安装

使用 Composer 安装 DebuggerTools

composer require --dev chabiselx/debuggerTools

或直接克隆存储库

git clone https://github.com/chaBiselx/DebuggerTools.git
cd DebuggerTools
composer install

启动 Docker 进行开发

在项目根目录创建 .env.local 文件

根据其他 Docker 图像修改 .env.local.env 中的端口

  • PHP_EXT_PORT_1
  • PHP_EXT_PORT_2
  • BDD_EXT_PORT

首次启动 Docker

docker compose --env-file .env.local up --build --force-recreate -d

如果需要调试构建,则

docker-compose build --no-cache 2>&1 | tee build_logs.txt

进入 PHP 容器

docker exec -it debuggertools-php-1 bash

测试

执行所有测试

make test

运行特定测试

php vendor/bin/phpunit -v --filter file::function

使用

ArrayOfOption

ArrayOfOption 参数是可选的参数列表。不同的字段可能包括

所有

  • hidePrefix [布尔值]:隐藏字符串开头的日期(默认:false)
  • showPrefix [布尔值]:显示字符串开头的日期(默认:true)
  • purgeFileBefore [布尔值]:在写入前清除文件(默认:false)
  • expendObject [布尔值]:在日志文件中为数组提供最佳可见性(默认:false)
  • fileName [字符串]:写入具有相同名称的文件(默认:log)

Class MemoryMonitor

  • activeConvertion [布尔值]:激活单位到字节的转换(默认:true)
  • disactiveConvertion [布尔值]:激活单位到字节的转换(默认:false)

Logger

为了在您的应用程序中捕获日志

use DebuggerTools\Logger;

$logger = new Logger($ArrayOfOption);
$logger->logger($dataToLog);

通过单例

\Debuggertools\Logger::loggerStatic($dataToLog, $ArrayOfOption);

元素列表

  • 任何基本 PHP 类型
  • \Doctrine\ORM\QueryBuilder from symfony

时间监控器

为了测量代码段执行的时间

use DebuggerTools\TimeMonitor;

$time = new TimeMonitor($ArrayOfOption);
$time->set("label");
sleep(5);
$time->log("label");

内存监控器

为了监视应用程序使用的内存

use DebuggerTools\MemoryMonitor;

$memoryMonitor = new MemoryMonitor($ArrayOfOption);
$memoryMonitor->logMemoryUsage('label');
//function
$memoryMonitor->logMemoryUsage('label');

跟踪

为了跟踪代码执行

use DebuggerTools\Trace;

$trace = new Trace($ArrayOfOption);
$trace->logTrace();

通过单例

\Debuggertools\Trace::getTraceStatic($ArrayOfOption);

贡献

欢迎贡献!如果您想贡献

  1. Fork 存储库。
  2. 创建一个分支以进行修改(git checkout -b feature/new-feature)。
  3. 提交您的更改(git commit -m '添加新功能')。
  4. 推送分支(git push origin feature/new-feature)。
  5. 打开 Pull Request。

许可

本项目采用 MIT 许可证。有关详细信息,请参阅 LICENSE 文件。

待办事项

  • 创建更好的 README
  • 测试 Doctrine\ORM\PersistentCollection
  • 从 curl 获取信息并生成命令行测试
  • 所有输入/输出中间件
  • Symphony 的事件监听器
  • 添加 curl 调试
  • SonarLint 错误(路径日志:getRootPath)