silverd/laravel-sql-logger

在 Laravel/Lumen 框架中记录 SQL 查询

v2.2.5 2020-03-22 14:14 UTC

This package is auto-updated.

Last update: 2024-08-29 05:06:43 UTC


README

Packagist Support via Paypal Build Status Coverage Status Scrutinizer Code Quality

此模块允许您将 SQL 查询(以及慢速 SQL 查询)记录到 Laravel/Lumen 框架中的日志文件。主要在开发应用程序时很有用,可以验证查询是否有效,并确保您的应用程序不会运行过多或过慢的数据库查询。

支持

使用此包免费,但为了保持其最新状态并添加新功能,我们欢迎小额赞助。 建议的金额是每个使用此包的项目 5 美元,但任何金额都将有助于进一步开发此包。 通过 Paypal 支持 (您可以在 Paypal 页面上更改金额)

安装

  1. 在控制台中运行

    composer require mnabialek/laravel-sql-logger --dev

    以安装此模块(注意 --dev 标志 - 建议仅将此包用于开发)。

  2. 如果您使用 Laravel < 5.5,请打开 config/app.php 并在 providers 部分添加

    Mnabialek\LaravelSqlLogger\Providers\ServiceProvider::class,

    Laravel 5.5 使用包自动发现,它将自动加载此服务提供程序,因此您不需要在上面的文件中添加任何内容。

    如果您使用 Lumen,请打开 bootstrap/app.php 并添加

    $app->register(Mnabialek\LaravelSqlLogger\Providers\ServiceProvider::class);
  3. 如果您使用 Laravel < 5.5,请在您的控制台中运行

    php artisan vendor:publish --provider="Mnabialek\LaravelSqlLogger\Providers\ServiceProvider"

    以发布默认配置文件。

    如果您使用 Laravel 5.5,请运行

    php artisan vendor:publish

    并选择与 "Mnabialek\LaravelSqlLogger\Providers\ServiceProvider" 提供程序匹配的数字。

    默认情况下,您不应该编辑发布的文件,因为所有设置都是默认从 .env 文件加载的。

    对于 Lumen,您应该跳过此步骤。

  4. 在您的 .env 文件中添加以下条目

    SQL_LOGGER_DIRECTORY="logs/sql"
    SQL_LOGGER_USE_SECONDS=false
    SQL_LOGGER_CONSOLE_SUFFIX=
    SQL_LOGGER_LOG_EXTENSION=".sql"
    SQL_LOGGER_ALL_QUERIES_ENABLED=true
    SQL_LOGGER_ALL_QUERIES_OVERRIDE=false
    SQL_LOGGER_ALL_QUERIES_PATTERN="#.*#i"
    SQL_LOGGER_ALL_QUERIES_FILE_NAME="[Y-m-d]-log"
    SQL_LOGGER_SLOW_QUERIES_ENABLED=true
    SQL_LOGGER_SLOW_QUERIES_MIN_EXEC_TIME=100
    SQL_LOGGER_SLOW_QUERIES_PATTERN="#.*#i"
    SQL_LOGGER_SLOW_QUERIES_FILE_NAME="[Y-m-d]-slow-log"
    SQL_LOGGER_FORMAT_NEW_LINES_TO_SPACES=false
    SQL_LOGGER_FORMAT_ENTRY_FORMAT="/* [origin]\\n   Query [query_nr] - [datetime] [[query_time]] */\\n[query]\\n[separator]\\n"
    

    并根据您的需要调整值。您可以跳过您希望使用默认值的变量。

    如果您还有 .env.sample,也建议您将这些条目添加到 .env.sample 文件中,以确保每个人都知道这些环境变量。请注意,SQL_LOGGER_DIRECTORY 是 storage 目录内的目录。如果您想更改它,请编辑 config/sql_logger.php 文件。

    有关这些设置的更多信息,请参阅 配置文件

  5. 请确保在 .env 文件中指定的目录存在于存储路径中,并且您有有效的文件权限来创建和修改此目录中的文件(如果它不存在,则此包将在需要时自动创建它,但建议您手动创建它并设置有效的文件权限)。

  6. 请确保在实时服务器上,您将在 .env 文件中将记录 SQL 查询设置为 false。此包建议仅用于开发,以避免影响生产应用程序的性能。

从 1.* 升级

当从 1.* 版本升级时,您应该删除当前的 sql_logger.php 配置文件,并用新的配置文件替换它(请参阅安装步骤)。您还应该在 .env 文件中使用新的变量(旧的将不再使用)。

作者

本优秀软件包的作者是 Marcin Nabiałek贡献者

变更

所有变更均列于 变更日志

许可协议

本软件包遵循 MIT 许可协议,然而我们非常欢迎提供 支持