Laravel看到终端的执行时间

has*_*b32 1 php laravel-4

我是一名新的Laarvel用户.在我使用Codeigniter之前.在Codeigniter中,通过执行tail -f很容易看到日志文件和执行时间.我看到Laravel在app/storage/logs目录中有日志文件.问题是日志文件只给我错误,它没有给出任何执行时间或查询时间.有人可以帮助我如何从命令行查看执行时间?我也尝试过Ioic-sharma探测器.

Sam*_*amV 12

由于Laravel的默认记录器设置不支持这一点,因此您无法默认使用,原因之一是Laravel甚至不会将执行时间记录到日志中.

您必须自己构建它或找到一个为您执行此操作的库.有几个分析器库,但大多数是通过在页面底部显示一个分析器栏来实现的.

这是我之前使用的一个很好的项目:https://github.com/barryvdh/laravel-debugbar

如果你真的想记录每个请求的exectution时间,我已经采取了粗略的方式,将它添加到你的global.php文件中.

$timeStart = microtime(true);

App::finish(function() use ($timeStart) {
    $diff = microtime(true) - $timeStart;
    $sec = intval($diff);
    $micro = $diff - $sec;
    Log::debug(Request::getMethod() . "[" . Request::url() . "] Time: " . round($micro * 1000, 4) . " ms");
});
Run Code Online (Sandbox Code Playgroud)

这很可能放在一个更好的地方,或者至少早点启动计时器,但它是一个快速的例子.

  • 如果执行时间超过1秒,这不会给出错误的答案吗?$ diff = 3.289-> $ sec = 3-> $ micro = 0.289->输出289ms不是3289ms (2认同)