【问题标题】:Laravel 5.2 - Get current line of Log eventLaravel 5.2 - 获取当前日志事件行
【发布时间】:2016-08-19 03:36:54
【问题描述】:

我想在 Laravel 5.2 中自定义我的 Logger

例如,我有一个控制器名称HomeController.php

class HomeController extends BaseController
{
    public function index()
    {
        Log::error("Ahihi");
    }
}

和日志文件:

[2016-08-19 12:24:02] local.ERROR: Ahihi [] []

但我想完整记录日志事件的信息(如文件中的行):

[2016-08-19 12:24:02] local.ERROR: HomeController.php - line 5 - Ahihi [] []

我需要一些建议,谢谢!

【问题讨论】:

标签: php laravel laravel-5


【解决方案1】:

如果您想在您记录的消息中包含此类信息,您可以使用 PHP 的预定义常量之一 - 您可以在此处找到列表 http://php.net/manual/en/language.constants.predefined.php

您可能最感兴趣的是 __FILE____LINE__,它们包含当前文件的名称和当前行号。

为了实现你所需要的,你可以替换

Log::error("Ahihi");

Log::error(sprintf("%s - line %d - Ahihi", __FILE__, __LINE__));

【讨论】:

  • 我也想过这个但是我想对所有的Log::error()实现,这样可以解决问题但是如果我改变模板会很糟糕。
  • 然后您需要提供自己的 LogWriter 实现,该实现会将此信息附加到所有日志消息中。我会在几个小时后用这个例子更新答案。
猜你喜欢
  • 2016-05-08
  • 1970-01-01
  • 2016-12-26
  • 2014-01-03
  • 1970-01-01
  • 2016-04-30
  • 2013-11-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多