revolta77/laravel-sql-logger

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

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

This package is auto-updated.

Last update: 2024-09-26 22:40:07 UTC


README

Packagist Support via Paypal Build Status Coverage Status Scrutinizer Code Quality

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

支持

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

安装

  1. 在控制台中运行

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

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

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

    Revolta77\LaravelSqlLogger\Providers\ServiceProvider::class,

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

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

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

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

    以发布默认配置文件。

    如果您使用Laravel 5.5,请运行

    php artisan vendor:publish

    并选择与"Revolta77\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是存储目录内的目录。如果您想更改它,请编辑config/sql_logger.php文件。

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

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

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

从1.*版本升级

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

作者

此出色包的作者是Marcin Nabiałek贡献者

变更

所有更改均在 变更日志 中列出

许可证

本软件包采用 MIT 许可证,然而 支持 也是非常受欢迎的。