首页 > 解决方案 > 如何扩展 Laravel Log::info() (不创建新类)?

问题描述

我知道我可以将其扩展如下:

class MyLog extends Logs {
  ...
}

但是,我不想这样做,因为我Log::info()在不同地方的项目中有很多。

我可以Log::info()在不创建新类 MyLog 的情况下进行扩展吗?

标签: laravellogging

解决方案


Laravel 使用 Monolog 进行日志记录,您可以在其中添加处理器,以便record在将其发送到不同的处理程序进行日志记录之前对其进行操作。

现在,在boot服务提供者的方法中,您可以尝试:

\Log::pushProcessor(function ($record) {
    /*
    record array contains keys:
        message, context, level, level_name, channel, datetime, extra
     */

    // do what you need to return your filtered record
    return $record;        
});

推荐阅读