noccylabs / log-hoc
临时任务日志记录器
dev-master
2020-04-06 21:08 UTC
Requires
- psr/log: ^1.1
Requires (Dev)
- phpunit/phpunit: ^9.1
This package is auto-updated.
Last update: 2024-09-07 06:53:58 UTC
README
这是一个实现PSR LoggerInterface
的临时日志记录器,将输出推送到易于访问的缓冲区。使用它来收集系统不同过程中的信息,而不会使应用程序日志混乱。
安装
使用composer安装
$ composer require noccylabs/log-hoc
使用
该日志记录器实现了Psr\LoggerInterface
,因此您可以像使用其他日志记录器一样使用它
$log = new LogBuffer();
$log->info("Things are going well");
$log->debug("You should know this tho: {message}", [ 'message'=>"xyzzy" ]);
$log->warning("Uh-oh");
$log->error("Something went wrong");
您还可以将其用于变量转储,只要它们可以序列化为json
$log = new LogBuffer();
$log->dump($customerOrder);
$log->dump($result);
标记将在日志中插入标记,代表分割点、过程开始或结束等。
$log = new LogBuffer();
$log->mark("Starting order processing");
要查看已记录的内容,您可以将其转换为字符串,或者使用getBuffer()
或getBufferArray()
方法获取内容。
$log = new LogBuffer();
$orderProcessor->process($order, $log);
$order->setProcessingLog($log->getBuffer());
您可以稍微自定义格式
$log = new LogBuffer();
$log->setFormat("%levelpad% %timestamp% // %message%");
您可以在格式说明符中使用%time%
、%message%
、%level%
、%levelpad%
和%context%
占位符。
%time% "19:37:44"
%message% "This is a log message"
%level% "info"
%levelpad% " info" (right-aligned to 10 chars)
%context% "{"foo":"bar"}"