akshitarora/dblog

Laravel应用程序中记录重数据库查询的工具

1.0.1 2022-09-09 09:17 UTC

This package is auto-updated.

Last update: 2024-09-18 20:59:40 UTC


README

GitHub

这是一个简单的Laravel库,让开发者可以按应用中的耗时将重查询分叉记录。

在以下情况下使用:

  • 您想要跟踪使您的应用程序变慢的查询。
  • 您想要监控超过预期时间较长的查询。
  • 您想要找到应用程序中的慢速页面

特性

  • 按日期分割日志,以便您可以知道您的应用程序在哪一天运行缓慢。
  • 您还可以根据查询耗时对日志进行分割。

安装

composer require akshitarora/dblog

app.php 中添加 ServiceProvider

AkshitArora\DbLog\DbLogServiceProvider::class,

日志结构

[数据库名称] [耗时 s] SELECT SQL 查询 WHERE 参数='VALUE' || 路径 方法: /slow/page/here

配置

dblog.php 配置文件发布到 /config/ 以进行配置定制

php artisan vendor:publish --provider=AkshitArora\DbLog\DbLogServiceProvider

配置选项

<?php

return [
    'enabled' => env('DBLOG_ENABLED', env('APP_ENV') === 'local'),

    // Only record queries that are slower than the following time
    // Unit: seconds
    'query_slower_than' => env('DBLOG_QUERY_SLOWER_THAN', 0),

    // Only record queries when the DBLOG_TRIGGER is set in the environment,
    // or when the trigger HEADER, GET, POST, or COOKIE variable is set.
    'trigger' => env('DBLOG_TRIGGER'),

    // Log storage location
    'log_storage' => env('DBLOG_LOG_STORAGE',env('FILESYSTEM_DRIVER')),

    // Time brackets in which the queries are to be bifurcated
    'time_brackets' => [2,4,5],

    // Set the path in the storage folder where logs need to be stored
    'folder_path' => 'dblogs',
];

警告

该库将慢 SQL 查询日志写入存储文件夹。如果您已将此库用于生产,请确保存储文件夹不是公开可访问的。

特别感谢以下包: https://github.com/overtrue/laravel-query-logger