koded/logging

一个简单的独立日志工具,具有多个日志处理器

3.3.0 2023-10-16 07:14 UTC

This package is auto-updated.

Last update: 2024-09-16 09:24:38 UTC


README

一个简单的消息日志库,实现了PSR-3标准,并具有多个日志处理器。它支持多个日志写入器,可以单独设置,并根据日志级别处理消息。

Latest Stable Version Build Status Code Coverage Scrutinizer Code Quality Minimum PHP Version

安装

使用 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

许可协议

Software license 代码在 3-Clause BSD 许可协议 下分发。