使用 `PHP artisan tail` 来实时查看 Laravel 应用程序的 Log
说明
php artisan tail
命令可用来查看实时的程序运行 log, 在 debug 模式关闭的情况下 ( 如: 生产环境 ), 尤其有用.
使用
开发使用
默认情况下 tail 只是针对本地的代码
php artisan tail
开发的时候, 还可以打开 SQL 查询语句的 LOG, 配合 php artisan tail
一起使用, 对 SQL 进行监控和调优.
在 app/filters.php
里面加上
Event::listen('illuminate.query', function($query, $bindings, $time, $name)
{
$data = compact('bindings', 'time', 'name');
// Format binding data for sql insertion
foreach ($bindings as $i => $binding)
{
if ($binding instanceof \DateTime)
{
$bindings[$i] = $binding->format('\'Y-m-d H:i:s\'');
}
else if (is_string($binding))
{
$bindings[$i] = "'$binding'";
}
}
// Insert bindings into query
$query = str_replace(array('%', '?'), array('%%', '%s'), $query);
$query = vsprintf($query, $bindings);
Log::info($query, $data);
});
生产环境下的 Log
接下来我们做些配置, 查看生产环境下的 Log .
修改app/config/remote.php
文件
'connections' => array(
'production' => array(
'host' => '117.111.111.111', //
'username' => 'root',
'password' => '',
'key' => '/Users/username/.ssh/id_rsa',
'keyphrase' => '',
'root' => '/var/webroot',
),
),
服务器验证可以选择 用户名密码 方式, 也可以设置 Key.
配置完成后调用:
php artisan tail production --path=/var/www/omapi/app/storage/logs/fpm-fcgi-2014-12-12.log --env=local
就可以实时查看 Log 输出了:
查看支持的参数
php artisan help tail
本帖已被设为精华帖!
这是哪个版本。5.1可以用吗。
@Jourdon 这篇文章发布于2014年, 5.1应该不能用