作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我看到新的日志堆栈/ channel 提供了一种方法来tap
或定义handlers
。但是,我正在尝试加载 WebProcessor
,但它似乎不起作用。这应该被窃听吗?或者是否有不同的加载方式?
这是特定于 Laravel 5.6 的。这是我在使用 Laravel 5.2 的旧应用程序中使用的内容 (bootstrap/app.php
):
$app->configureMonologUsing(function (Monolog\Logger $monolog) {
/* Include basic http props in logs */
$webProcessor = new Monolog\Processor\WebProcessor();
$monolog->pushProcessor($webProcessor);
});
@AkenRoberts 我试过 tap => Monolog\Processor\WebProcessor::class
我猜这是不对的。
最佳答案
好的。经过一些研究,似乎 tap
是 Hook 处理器
的最佳方式。因此,如果我想将处理器标记为当前日志记录堆栈中的所有处理程序,我可以通过添加以下内容来完成:
tap => [App\Logging\MyClass::class]
这个类依次将所需的处理器推送到它的 __invoke
方法中的所有处理程序。
namespace App\Logging;
use Illuminate\Log\Logger;
class MyClass {
/**
* Customize the given logger instance.
*
* @param \Illuminate\Log\Logger $logger
* @return void
*/
public function __invoke(Logger $logger)
{
foreach ($logger->getHandlers() as $handler) {
$handler->pushProcessor(new WebProcessor);
}
}
}
关于laravel - 在 Laravel 5.6 中使用 Monolog WebProcessor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51677615/
我看到新的日志堆栈/ channel 提供了一种方法来tap 或定义handlers。但是,我正在尝试加载 WebProcessor,但它似乎不起作用。这应该被窃听吗?或者是否有不同的加载方式? 这是
我是一名优秀的程序员,十分优秀!