themosis/log

Themosis日志组件。

dev-main 2024-06-24 16:51 UTC

This package is auto-updated.

Last update: 2024-08-24 17:10:29 UTC


README

Themosis Log

Themosis日志组件是一个轻量级的PHP日志库。

该组件仅推广PSR-3接口,并提供一个简单的仓库接口和具体的内存实现来管理PSR-3兼容的日志记录器。

默认情况下,库不安装任何日志记录器实现,但建议使用流行的Monolog包。

请随意安装任何与库兼容的PSR-3日志记录器。

安装

以下示例利用了Monolog库的使用。

使用Composer安装包并添加您首选的日志库实现

composer require themosis/log monolog/monolog

上述代码将安装themosis/log包以及monolog/monolog包。

使用方法

注册日志记录器

您可以使用内存仓库来注册日志记录器。每个logger都必须有一个唯一的频道名称。

use Themosis\Components\Log\Channel;
use Themosis\Components\Log\InMemoryLoggers;

// Create a logger instance using any PSR-3 library
$channel = new Channel('APP');
$logger = new Monolog\Logger($channel);

// Register the logger in the registry
$loggers = new InMemoryLoggers();
$loggers->add($channel, $logger);

提供的频道类为相关的日志记录器提供了唯一标识符。

在仓库中无法覆盖日志记录器,如果您尝试这样做,将会抛出LoggerAlreadyExists异常。

检索日志记录器

您可以通过传递频道标识符来获取已注册的日志记录器

$applicationLogger = $loggers->get(new Channel('APP'));

// Log something using the PSR-3 retrieved logger...
$applicationLogger->info('An applicaton event just occured...');

如果日志记录器未注册且您尝试检索它,仓库将抛出LoggerNotFound异常。

如果您始终期望从仓库返回日志记录器(即使未注册),您可以简单地使用Themosis\Components\Log\Loggers接口创建自己的仓库。