noccylabs/log-hoc

临时任务日志记录器

dev-master 2020-04-06 21:08 UTC

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"}"