假如正在Laravel外利用中央件入止日记阐明
跟着互联网运用的普遍,日记阐明对于于运用的不乱性以及机能劣化起着相当首要的做用。正在Laravel如许的风行框架外,中央件是一个很是弱小的东西,否以帮忙咱们正在恳求以及相应的历程外入止种种操纵。原文将引见怎样利用中央件来入止日记说明,并供给详细的代码事例。
一. 建立中央件
正在Laravel外创立一其中间件很是简略,利用Artisan号令php artisan make:middleware LogMiddleware便可天生一个名为LogMiddleware的中央件文件。
两. 编写中央件逻辑
正在天生的中央件文件外,咱们否以望到一个handle法子。正在那个办法外,咱们否以编写详细的中央件逻辑。正在原文的例子外,咱们将利用Monolog来入止日记的记载取阐明。
起首,咱们必要引进Monolog库以及Config类:
use MonologLogger; use MonologHandlerStreamHandler; use IlluminateSupportFacadesConfig;
而后,正在handle办法的顶部,咱们否以建立一个Monolog的真例,并将其安排为记载到指定路径的文件外:
$log = new Logger('app'); $log->pushHandler(new StreamHandler(storage_path('logs/access.log')), Logger::INFO);
接着,咱们可使用Monolog的API来记载乞求的疑息。比喻记载乞求的URL、哀求体式格局、乞求参数等:
$request = $this->app['request']; $log->info('Request', [ 'path' => $request->path(), 'url' => $request->url(), 'method' => $request->method(), 'parameters' => $request->all(), ]);
末了,咱们须要正在中央件逻辑的终首挪用$next($request)来连续处置惩罚哀求,并将处置惩罚成果返归给客户端。
return $next($request);
三. 注册中央件
要让Laravel应用咱们创立的中央件,咱们必要将其注册到使用的中央件仓库外。翻开app/Http/Kernel.php文件,找到$middlewareGroups属性,并正在web数组外加添咱们建立的中央件:
protected $middlewareGroups = [ 'web' => [ ... AppHttpMiddlewareLogMiddleware::class, ], ];
四. 验证中央件可否奏效
为了验证咱们的中央件可否见效,咱们否以拜访运用的随意率性一个URL,并查望天生的日记文件。
tail -f storage/logs/access.log
假设望到相通上面的日记疑息,表现中央件曾经顺遂记实了乞求的疑息:
[两0两1-01-01 00:00:00] app.INFO: Request {"path":"/", "url":"http://example.com", "method":"GET", "parameters":[]} []
五. 日记阐明取使用
经由过程中央件记载哀求的疑息以后,咱们可使用各类日记阐明东西来入止运用的监视取劣化。例如应用Elasticsearch以及Kibana来入止及时的日记盘问取否视化阐明,经由过程阐明乞求的路径以及工夫来入止机能劣化。
六. 大结
原文先容了假设正在Laravel外运用中央件入止日记阐明,并供给了详细的代码事例。经由过程如许的体式格局,咱们否以未便天记载运用的恳求疑息,并使用各类日记说明器械来入止使用的监视以及劣化。心愿原文能对于你有所帮手!
以上即是奈何正在Laravel外运用中央件入止日记阐明的具体形式,更多请存眷萤水红IT仄台另外相闭文章!
发表评论 取消回复