mnabialek / laravel-sql-logger
在Laravel/Lumen框架中记录SQL查询
Requires
- illuminate/container: 5.*|6.*|7.*|8.*|9.*|10.*|11.*
- illuminate/filesystem: 5.*|6.*|7.*|8.*|9.*|10.*|11.*
- illuminate/support: 5.*|6.*|7.*|8.*|9.*|10.*|11.*
- mnabialek/laravel-version: ^1.0.6
- nesbot/carbon: ~1.0 || ^2.0 || ^3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- laravel/framework: 11.*
- mockery/mockery: ^1.0
- php-coveralls/php-coveralls: ^2.0
- phpunit/phpunit: ^11.0
README
此模块允许您在Laravel/Lumen框架中将SQL查询(以及慢查询)记录到日志文件。这在开发应用程序时非常有用,可以验证查询是否有效,并确保应用程序不会执行过多或过慢的数据库查询。
支持
使用此包是免费的,但为了保持其更新并添加新功能,我们欢迎小额资助。 建议金额为每个使用此包的项目5美元,但任何金额都将有助于本包的进一步开发。 (您可以在Paypal页面上更改金额)
安装
-
在控制台运行
composer require mnabialek/laravel-sql-logger --dev
来安装此模块(注意
--dev
标志 - 建议仅在开发中使用此包)。 -
如果您使用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);
-
如果您使用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,请跳过此步骤。
-
在您的.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
文件。有关这些设置的更多信息,请参阅配置文件
-
请确保在.env文件中指定的目录存在于存储路径中,并且您有有效的文件权限来创建和修改此目录中的文件(如果它不存在,此包将在需要时自动创建它,但建议您手动创建它并设置有效的文件权限)。
-
请确保在生产服务器上,您将在.env文件中将记录SQL查询设置为false。此包建议仅用于开发,以免影响生产应用程序的性能。
从1.*升级
当从1.*
版本升级时,您应删除当前的sql_logger.php
配置文件,并用新文件替换它(请参阅安装步骤)。您还应在.env文件中使用新变量(旧变量将不再使用)。
作者
此出色包的作者是Marcin Nabiałek和贡献者
变更
所有更改均列在变更日志中