artarts36/context-logger

此包的最新版本(0.1.0)没有提供许可证信息。

0.1.0 2023-05-21 17:08 UTC

This package is auto-updated.

Last update: 2024-09-30 01:54:41 UTC


README

License: MIT Latest Version Total Downloads

此包提供对 psr/log 的包装,用于在不同日志之间共享上下文。

实现存储

内存存储

内存存储对于在单个Web请求或单个控制台命令运行期间共享上下文非常有用。

创建logger实例

$logger = \ArtARTs36\ContextLogger\LoggerFactory::wrapInMemory(new class () extends \Psr\Log\AbstractLogger {
    public function log($level, \Stringable|string $message, array $context = []): void
    {
        var_dump($level, $message, $context);
    }
});

APCu存储

内存存储对于在多个Web请求之间共享上下文非常有用。

创建logger实例

$logger = \ArtARTs36\ContextLogger\LoggerFactory::wrapInApcu(new class () extends \Psr\Log\AbstractLogger {
    public function log($level, \Stringable|string $message, array $context = []): void
    {
        var_dump($level, $message, $context);
    }
});

文件存储

文件存储对于在多个Web请求或多个控制台命令运行期间共享上下文非常有用。

创建logger实例

$logger = \ArtARTs36\ContextLogger\LoggerFactory::wrapInFile(new class () extends \Psr\Log\AbstractLogger {
    public function log($level, \Stringable|string $message, array $context = []): void
    {
        var_dump($level, $message, $context);
    }
}, '/path/to/file.txt');

空存储

空存储对于测试非常有用。

创建logger实例

$logger = \ArtARTs36\ContextLogger\LoggerFactory::null();