加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – Laravel用于开发和生产的5种不同的日志级别

发布时间:2020-12-14 19:48:22 所属栏目:大数据 来源:网络整理
导读:我正在使用Laravel 5.1并尝试为开发和生产环境设置不同的日志记录逻辑. 在我的应用程序中,我使用了大多数以下不同方法的Log facade: Log::emergency($error);Log::alert($error);Log::critical($error);Log::error($error);Log::warning($error);Log::notic
我正在使用Laravel 5.1并尝试为开发和生产环境设置不同的日志记录逻辑.

在我的应用程序中,我使用了大多数以下不同方法的Log facade:

Log::emergency($error);
Log::alert($error);
Log::critical($error);
Log::error($error);
Log::warning($error);
Log::notice($error);
Log::info($error);
Log::debug($error);

但是,在我的生产环境中,我只想记录任何错误,严重,警报或紧急优先级的内容,并忽略优先级较低的日志请求.

我在文档中找不到任何东西,或者通过探索代码(Log facade和Monolog类).

我目前的想法是在Log外观周围创建一个自定义包装器,它只检查环境并忽略400以下的任何内容(Monolog级别为Error).基本上我会在环境文件中创建一个阈值变量,其下面的任何内容都不会记录到文件中.

在我这样做之前,我想询问社区是否存在我可以使用的现有方法/配置,以便我不重新发明轮子.

如果不是 – 最好的方法是什么?

这个 gist显示了一个更舒服的答案,因为它不依赖于
选择处理程序

我只是在这里提供答案的基本部分,以防上述链接在一段时间内被删除.

在AppServiceProviders的register方法中:

/**
* Register any application services.
*
* @return void
*/
public function register()
{
    //
    $monolog = Log::getMonolog();
    foreach($monolog->getHandlers() as $handler) {
      $handler->setLevel(Config::get('app.log-level'));
    }
}

然后只需在config / app.php中添加一个额外的密钥:

'log-level' => 'info',// or whatever minimum log level you would like.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读