wyrihaximus/psr-3-callable-throwable-logger

PSR-3 日志器的可调用抛出装饰器(与 react/promise 和 reactivex/rxphp 一起使用)

2.3.1 2023-01-14 19:24 UTC

README

Linux Build Status Latest Stable Version Total Downloads Code Coverage License PHP 7 ready

安装

通过 Composer 安装,使用以下命令,它将自动检测最新版本并将其绑定到 ^

composer require wyrihaximus/psr-3-callable-throwable-logger 

react/promise 一起使用

每当一个承诺拒绝时,来自 CallableThrowableLogger::create 的闭包将被调用,并将错误消息记录到 $logger

$logger = new Psr3Logger();
$reactPromise->done(function () {
    // Happy flow handler
}, CallableThrowableLogger::create($logger));

reactivex/rxphp 一起使用

每当从流中发生错误时,来自 CallableThrowableLogger::create 的闭包将被调用,并将错误消息记录到 $logger

$logger = new Psr3Logger();
$rxPhpStream->subscribute(function ($item) {
    // Items handler
}, CallableThrowableLogger::create($logger), function () {
    // Done
});

可选参数

CallableThrowableLogger::create(
    $logger, // required: PSR-3 logger
    'error', // optional: Message level
    'Uncaught Throwable %1$s: "%2$s" at %3$s line %4$s', // optional: Message
    // %1$s => the throwable classname
    // %2$s => the throwable message 
    // %3$s => the throwable file 
    // %4$s => the throwable line 
);

贡献

有关详细信息,请参阅 CONTRIBUTING

许可

版权所有 2018 Cees-Jan Kiewiet

特此授予任何获得此软件及其相关文档副本(以下简称“软件”)的人免费使用软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许提供软件的人按以下条件进行此类操作:

上述版权声明和本许可声明应包含在软件的副本或主要部分中。

本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于对适销性、适用于特定目的和无侵权的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论这种责任是基于合同、侵权或其他方式,只要与软件或软件的使用或其他交易有关。