consilience/laravel-slow-query-logger

Laravel慢查询记录器

2.0.1 2022-08-02 22:32 UTC

This package is auto-updated.

Last update: 2024-09-13 13:50:38 UTC


README

Latest Stable Version Latest Unstable Version License Total Downloads

安装/快速入门

composer require consilience/laravel-slow-query-logger

或者在 composer.json 中添加以下行,然后运行 composer update

"require": {
    "consilience/laravel-slow-query-logger": "^2.0"
}

开启慢查询记录

LARAVEL_SLOW_QUERY_LOGGER_ENABLED=true

查看日志文件以查看慢查询。

配置

可以使用以下命令发布配置文件

php artisan vendor:publish --provider="Consilience\Laravel\SlowQueryLogger\SlowQueryLoggerProvider"

您可能不需要发布配置;只需设置以下列出的必需环境变量即可。

enabled

启用慢查询记录器。

您可以通过环境变量 LARAVEL_SLOW_QUERY_LOGGER_ENABLED 设置此值。默认为 false

channel

设置记录的通道。如果您希望将所有查询日志与其他日志消息分开,这可能会很有用。

您可以通过环境变量 LARAVEL_SLOW_QUERY_LOGGER_CHANNEL 设置此值。默认情况下,将使用应用程序默认的日志通道。

level

设置记录慢查询的日志级别。

您可以通过环境变量 LARAVEL_SLOW_QUERY_LOGGER_LEVEL 设置此值。默认为 debug

threshold-ms

仅记录执行时间超过此毫秒数的查询。

您可以通过环境变量 LARAVEL_SLOW_QUERY_LOGGER_THRESHOLD_MS 设置此值。默认为 700。值为 0 将记录所有查询。

使用方法

默认情况下,绑定变量不包括在记录的详细信息中。仅记录核心查询。

[20[2022-08-02 22:15:33] production.DEBUG: SQL 6663.970 mS: update users set name = ?, users.updated_at = ? where id = ?

通过设置 LARAVEL_SLOW_QUERY_LOGGER_REPLACE_BINDINGS=true,将查询的绑定变量替换为匹配的值

[2022-08-02 16:17:13] production.DEBUG: SQL 784.200 mS: update users set name = 'JJ', users.updated_at = '2022-08-02 16:17:05' where id = '1'

您还可以(或作为替代)通过设置 LARAVEL_SLOW_QUERY_LOGGER_SHOW_BINDINGS=true 在日志上下文中单独列出绑定数据。这可能会很有用,因为替换绑定将所有值视为字符串,从而可以更详细地观察数据类型。

[2022-08-02 22:22:35] production.DEBUG: SQL 413.910 mS: update users set name = 'JJ', users.updated_at = '2022-08-02 22:21:50' where id = '1' {"bindings":["JJ","2022-08-02 22:21:50",1]}