koded / logging
一个简单的独立日志工具,具有多个日志处理器
3.3.0
2023-10-16 07:14 UTC
Requires
- php: ^8.1
- koded/stdlib: ^5|^6
- psr/log: ^3
Requires (Dev)
- mikey179/vfsstream: ^1
- phpbench/phpbench: @dev
- phpunit/phpunit: ^9
README
一个简单的消息日志库,实现了PSR-3标准,并具有多个日志处理器。它支持多个日志写入器,可以单独设置,并根据日志级别处理消息。
安装
使用 composer 并运行
composer require koded/logging
或者手动在你的 composer.json
文件中添加它
{ "require": { "koded/logging": "^3" } }
用法
<?php $settings = [ [ ['class' => Cli::class, 'levels' => Log::ERROR], ['class' => File::class, 'levels' => Log::INFO] ] ]; $log = new Log(...$settings); // This message is processed by Cli and File $log->alert('The message with {variable}', ['variable' => 'useful info']); // This message won't be processed by Cli // because it's level is below ERROR, // but File will handle it $log->warning("You don't see anything");
配置
处理器默认指令
每个日志处理器都有自己的配置指令集。
表格显示了类中的日志参数。
级别示例
消息通过位运算符与 级别
值进行过滤。每个处理器都会根据其 级别 指令过滤掉消息。
例如,要仅记录 WARNING、INFO 和 ERROR 消息,将级别设置为
<?php [..., ['levels' => Log::WARN | Log::INFO | Log::ERROR, ...]],
提示
- 每个处理器都是单独配置的
- 如果你想处理所有日志级别,跳过
级别
值或将其设置为 -1(默认值) - 如果你想抑制特定处理器,将其级别设置为 0
处理器
基准测试和测试
vendor/bin/phpbench run --report=default vendor/bin/phpunit
许可协议
代码在 3-Clause BSD 许可协议 下分发。