andrey-tech/debug-logger-php
Composer 安装命令:
composer require andrey-tech/debug-logger-php
包简介
Простой логгер на PHP7+, сохраняющий отладочную информацию в файл вместе с данными об объеме используемой оперативной памяти и прошедшем времени
README 文档
README
Простой логгер на PHP7+, сохраняющий отладочную информацию в файл вместе с данными об объеме используемой оперативной памяти и прошедшем времени.
Содержание
Требования
- PHP >= 7.0;
- Произвольный автозагрузчик классов, реализующий стандарт PSR-4.
Установка
Установка через composer:
$ composer require andrey-tech/debug-logger-php:"^2.0"
или добавить
"andrey-tech/debug-logger-php": "^2.0"
в секцию require файла composer.json.
Класс DebugLogger
Класс \App\DebugLogger\DebugLogger обеспечивает логирование отладочной информации в файл.
При возникновении ошибок выбрасывается исключение класса \App\DebugLogger\DebugLoggerException.
Методы класса
static instance(string $logFileName = 'debug.log'): DebugLogger
Возвращает единственный объект классаDebugLoggerдля заданного лог-файла$logFileName.$logFileName- имя лог-файла.
save(mixed $info, object $object = null, string $header = null): voidСохраняет подлежащую логированию информацию в файл.$info- строка, массив или объект для логирования;$object- ссылка на объект класса в котором выполняется логирование;$header- строка заголовка для сохраняемой в лог файл информации.
Дополнительные параметры
Дополнительные параметры устанавливаются через публичные свойства класса \App\DebugLogger\DebugLogger:
| Нестатическое свойство | По умолчанию | Описание |
|---|---|---|
$isActive |
false | Включает или выключает логирование для конкретного файла, задаваемого параметром $logFileName метода instance() |
| Статическое свойство | По умолчанию | Описание |
|---|---|---|
$logFileDir |
temp/ |
Устанавливает каталог, в котором сохраняются лог-файлы |
mkdirMode |
0755 | Устанавливает режим доступа для создаваемых каталогов для хранения лог файлов в виде восьмеричного числа |
$uniqIdLength |
7 | Длина уникального буквенно-цифрового [a-z0-9]+ идентификатора объекта класса DebugLogger для сохранения в лог файле, позволяющего находить записи, созданные одним и тем же процессом |
Примеры
use App\DebugLogger\DebugLogger; use App\DebugLogger\DebugLoggerException; try { // Устанавливаем каталог для сохранения лог-файлов DebugLogger::$logFileDir = 'logs/'; $logFileName = 'debug_extensions.log'; $logger = DebugLogger::instance($logFileName); // Включаем логирование $logger->isActive = true; // Сохраняем информацию о всех скомпилированных и загруженных модулях PHP $logger->save(get_loaded_extensions(), null, 'PHP modules'); // Сохраняем версию движка Zend PHP $logger->save(zend_version(), null, 'Zend engine'); } catch (DebugLoggerException $e) { printf('Ошибка (%d): %s' . PHP_EOL, $e->getCode(), $e->getMessage()); }
Пример результатов логирования
*** ytoqjz5 [2020-06-14 12:57:18.420258 +00:00 Δ- s, 0.69/2.00 MiB] ********************
PHP modules
[
"Core",
"bcmath",
"calendar",
"ctype"
]
*** ytoqjz5 [2020-06-14 12:57:18.421359 +00:00 Δ0.001101 s, 0.69/2.00 MiB] ********************
Zend engine
3.2.0
Формат логирования
*** ytoqjz5 [2020-06-14 12:57:18,421359 +00:00 Δ0.001101 s, 0.69/2.00 MiB] ********************
Zend engine
3.2.0
ytoqjz5- уникальный буквенно-цифровой [a-z0-9]+ идентификатор объекта классаDebugLogger, позволяющий находить в лог файле записи, созданные одним и тем же процессом;2020-06-14 12:57:18.421359 +00:00- дата и время сохранения информации с точностью до микросекунд;Δ0.001101 s- время, прошедшее с момента предыдущего сохранения информации в секундах и микросекундах;0.69/2.00 MiB- данные об используемой оперативной памяти в единицах количества информации с двоичными приставками:0.69- максимальный объем памяти, который был выделен PHP-скрипту системой;2.00- реальный объем памяти, выделенный PHP-скрипту системой;
- 'Zend engine' - заголовок для сохраняемой информации, задаваемый параметром
$headerметодаsave(); - '3.2.0' - сохраняемая информация, задаваемая параметром
$infoметодаsave().
Автор
© 2019-2022 andrey-tech
Лицензия
Данная библиотека распространяется на условиях лицензии MIT.
andrey-tech/debug-logger-php 适用场景与选型建议
andrey-tech/debug-logger-php 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 78.83k 次下载、GitHub Stars 达 2, 最近一次更新时间为 2020 年 06 月 14 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「debug」 「logger」 「memory」 「debugging-tool」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 andrey-tech/debug-logger-php 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 andrey-tech/debug-logger-php 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 andrey-tech/debug-logger-php 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
repository php library
Debug your SimpleBus EventBus and CommandBus
nice output for debug functions for PHP 5.3
PHP Library to read and write spreadsheet files (CSV, XLSX and ODS), in a fast and scalable way
Workflow logger
HTTP request logger middleware for Laravel
统计信息
- 总下载量: 78.83k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 40
- 依赖项目数: 3
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-06-14