mnabialek/laravel-sql-logger

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

v2.2.11 2024-03-26 06:53 UTC

README

Packagist Support via Paypal Build Status Coverage Status Scrutinizer Code Quality

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

支持

使用此包是免费的,但为了保持其更新并添加新功能,我们欢迎小额资助。 建议金额为每个使用此包的项目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是存储目录内的目录。如果您想更改它,请编辑config/sql_logger.php文件。

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

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

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

从1.*升级

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

作者

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

变更

所有更改均列在变更日志

许可

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