我正在向 laravel (5.8) 应用程序添加一些数据库日志记录,并且我已经注册了
DB::listener
回调,但似乎我对 $query
对象已填充的数据相当有限。
它确实需要执行该语句所需的时间,因此必须在查询运行后对其进行记录,因此它可以返回受影响/返回的行数。
我已经为数据库日志配置了自定义通道,并且仅在设置配置值时才启用它们。
我的实现如下所示。
if (config('app.sql_profiler')) {
DB::listen(function ($query) {
Log::channel('db')->debug(
$query->sql,
[$query->bindings, $query->time]
);
});
}
我想把它扩展成这样
if (config('app.sql_profiler')) {
DB::listen(function ($query) {
Log::channel('db')->debug(
$query->sql,
[
$query->bindings,
$query->time,
// add $query->resultCount.
]
);
});
}
任何关于从哪里开始寻找的建议都会非常有帮助。
不,这是不可能的。
您只能使用此处描述的数据属性。