数码产品性能查询
该软件包括了市面上所有手机CPU,手机跑分情况,电脑CPU,电脑产品信息等等,方便需要大家查阅数码产品最新情况,了解产品特性,能够进行对比选择最具性价比的商品。
你的Laravel应用是不是也曾让你感到像个“黑盒子”?当用户反馈页面加载缓慢,或者某个功能突然失效时,你是否常常陷入盲目猜测,不知道问题究竟出在哪个环节?传统的日志系统虽然能记录错误,但往往缺乏关键的上下文信息,比如用户的请求详情、程序的内存占用、响应时间,甚至是哪条SQL查询拖慢了整个系统。这种“大海捞针”式的调试方法,不仅效率低下,更可能在生产环境的紧急状况下让你焦头烂额。
幸好,在laravel的强大生态系统中,总有优秀的解决方案等待我们发掘。今天,我要向大家隆重介绍一个能够彻底改变你调试体验的composer包——kitloong/laravel-app-logger
。它就像给你的laravel应用装上了一套“智能监控系统”,让你对每一次http请求、每一次性能消耗,甚至每一条数据库查询都洞察入微。
Composer在线学习地址:学习地址
想象一下这样的场景:你的电商网站在某个促销活动期间流量暴增,用户开始抱怨下单页面响应奇慢。你打开日志文件,发现大量PHP错误,但这些错误信息并没有直接指向“慢”的原因。你可能需要手动在代码中添加各种dd()
或Log::info()
来定位,这不仅耗时,而且在生产环境中是极度危险的操作。你渴望能有一种机制,能自动记录下每个请求的完整生命周期:它接收了什么参数,消耗了多少时间,占用了多少内存,以及执行了哪些数据库查询。
kitloong/laravel-app-logger
登场!kitloong/laravel-app-logger
正是为了解决这些痛点而生。它提供了一套开箱即用的日志中间件,能够自动捕获并记录以下三类关键日志:
最棒的是,它还为HTTP请求日志和性能日志嵌入了一个唯一的关联ID,这意味着你可以轻松地将同一个请求的详细信息和其性能数据关联起来,实现端到端的追踪!
使用Composer安装 kitloong/laravel-app-logger
简单到令人难以置信:
<code class="bash">composer require kitloong/laravel-app-logger</code>
启用HTTP请求和性能日志:
安装完成后,你只需在app/Http/Kernel.php
的$middleware
或$middlewareGroups
中添加其提供的中间件即可:
<code class="php">// app/Http/Kernel.php protected $middleware = [ // ... 其他中间件 \KitLoong\AppLogger\Middlewares\AppLogger::class, ];</code>
启用数据库查询日志:
数据库查询日志的启用更加便捷,无需修改任何代码,只需在.env
文件中设置一个环境变量:
<code class="dotenv"># .env RUN_QUERY_LOG=true</code>
默认情况下,HTTP请求和性能日志是开启的,而查询日志是关闭的。你可以根据需要,在.env
中灵活配置:
<code class="dotenv">RUN_HTTP_LOG=true RUN_PERFORMANCE_LOG=true RUN_QUERY_LOG=false</code>
一旦启用,你的storage/logs/laravel.log
(或你配置的其他日志通道)中将出现以下格式的日志:
HTTP 请求日志:
<code>[2023-10-27 10:30:00] local.INFO: 2725ffb10adeae3f POST /api/order - Body: {"product_id":123,"quantity":1} - Headers: {"cookie":["session_id=abc"],"accept-language":["zh-CN"]} - Files:</code>
性能日志:
<code>[2023-10-27 10:30:00] local.INFO: 2725ffb10adeae3f POST /api/order 200 - Time: 125.67 ms - Memory: 35.50 MiB</code>
数据库查询日志:
<code>[2023-10-27 10:30:00] local.INFO: Took: 3.21 ms mysql Sql: select * from `products` where `id` = 123</code>
注意看,HTTP请求日志和性能日志中都包含了一个相同的唯一字符串(例如2725ffb10adeae3f
),这个就是关联ID!当你发现某个请求响应时间过长(通过性能日志),你可以立即复制这个ID,然后在日志文件中搜索,就能找到对应的HTTP请求详情,甚至包括它执行的所有数据库查询,实现完整的追踪链。
kitloong/laravel-app-logger
提供了极高的可定制性。你可以发布其配置文件进行更详细的设置:
<code class="bash">php artisan vendor:publish --provider="KitLoong\AppLogger\AppLoggerServiceProvider" --tag=config</code>
发布后,你可以在config/app-logger.php
中进行如下配置:
config/logging.php
中创建request
、performance
、query
通道,然后在app-logger.php
中指定。LogProfile
接口,定义何时记录日志。例如,只记录特定路由、特定用户或响应时间超过某个阈值的请求。LogWriter
接口,完全控制日志内容的生成方式。这些高级功能让kitloong/laravel-app-logger
不仅仅是一个简单的日志工具,更是一个高度灵活的监控框架,可以根据你的具体需求进行深度定制。
kitloong/laravel-app-logger
是每一个Laravel开发者工具箱中不可或缺的利器。它通过自动化、结构化的方式,解决了传统日志在应用监控和问题排查方面的诸多痛点。
如果你还在为Laravel应用的性能瓶颈和难以追踪的问题而烦恼,强烈推荐你立即尝试 kitloong/laravel-app-logger
。它将帮助你从“黑盒”中解放出来,让你的应用运行得更加健康、稳定!
已抢7589个
抢已抢97574个
抢已抢15264个
抢已抢54015个
抢已抢198465个
抢已抢88408个
抢