themosis / log
dev-main
2024-06-24 16:51 UTC
Requires
- php: ^8.2
- psr/log: *
Requires (Dev)
- phpunit/phpunit: ^11.3
Suggests
- monolog/monolog: Logging library for PHP that implements the PSR-3 interface.
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
接口创建自己的仓库。