revolta77 / laravel-sql-logger
在Laravel/Lumen框架中记录SQL查询
Requires
- illuminate/container: 5.*|6.*|7.*
- illuminate/filesystem: 5.*|6.*|7.*
- illuminate/support: 5.*|6.*|7.*
- mnabialek/laravel-version: ^1.0.3
- nesbot/carbon: ~1.0 || ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ~2.5
- laravel/framework: ^6.0
- mockery/mockery: ^1.0
- php-coveralls/php-coveralls: ^2.0
- phpunit/phpunit: ^6.5
README
此模块允许您将SQL查询(以及慢SQL查询)记录到Laravel/Lumen框架中的日志文件。这主要在开发应用程序时非常有用,用于验证查询是否有效,并确保应用程序不会运行太多或太慢的数据库查询。
支持
使用此包免费,但为了保持其更新并添加新功能,小金额的支持将受到欢迎。建议的金额是每个使用此包的项目5美元,但任何金额都将有助于进一步开发此包。 (您可以在PayPal页面上更改金额)
安装
-
在控制台中运行
composer require revolta77/laravel-sql-logger --dev
安装此模块(注意
--dev
标志 - 建议仅将此包用于开发)。 -
如果您使用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);
-
如果您使用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,您应跳过此步骤。
-
在您的.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和贡献者
变更
所有更改均在 变更日志 中列出