request-log/log-request-package
Composer 安装命令:
composer require request-log/log-request-package
包简介
Pacote para armazenar no log informações das requisições HTTP antes dela entrar na rota
README 文档
README
Este pacote Laravel registra todas as requisições HTTP recebidas, incluindo o URL, método, dados enviados e cabeçalhos da requisição. É ideal para fins de depuração e monitoramento de tráfego.
Índice
Instalação
Para instalar o pacote, basta utilizar o Composer:
composer require request-log/log-request-package
O pacote será registrado automaticamente graças ao Laravel Package Auto-Discovery.
Configuração
Se quiser personalizar as configurações do pacote, como logar ou não os cabeçalhos das requisições, você pode publicar o arquivo de configuração:
php artisan vendor:publish --tag=logrequest-config
Isso criará um arquivo de configuração config/logrequest.php onde você poderá ajustar as opções.
Uso
Middleware em Rotas Específicas
Para usar o middleware em rotas específicas, basta aplicá-lo diretamente no seu arquivo de rotas (routes/web.php ou routes/api.php):
Route::middleware('log.request')->group(function () { Route::get('/minha-rota', [MinhaController::class, 'meuMetodo']); // Outras rotas... });
Middleware Global
Se você quiser aplicar o middleware a todas as rotas (de forma global), pode registrar o middleware no grupo de middlewares web ou api em app/Http/Kernel.php:
protected $middlewareGroups = [ 'web' => [ // Outros middlewares... \RequestLog\LogRequestPackage\Middleware\LogRequestMiddleware::class, ], ];
Ou, alternativamente, o middleware pode ser aplicado globalmente via o ServiceProvider do pacote, descomentando a linha no arquivo LogRequestServiceProvider.php:
$router->pushMiddlewareToGroup('web', LogRequestMiddleware::class);
Exemplo de Log
O log padrão da requisição será registrado no arquivo de log padrão do Laravel (storage/logs/laravel.log). Aqui está um exemplo de saída do log:
[2024-09-11 12:34:56] local.INFO: Requisição recebida {
"url": "http://meusite.com/minha-rota",
"metodo": "POST",
"dados": {
"nome": "João",
"email": "joao@example.com"
},
"cabecalhos": {
"host": ["meusite.com"],
"content-type": ["application/json"],
"user-agent": ["Mozilla/5.0 ..."],
"accept": ["*/*"],
// Outros cabeçalhos...
}
}
Testes
Para testar o pacote, você pode criar um projeto Laravel de teste e usar o middleware em suas rotas. Se quiser automatizar os testes, adicione testes de middleware nas suas rotas usando o PHPUnit ou qualquer framework de testes compatível com Laravel.
Exemplo de teste básico:
public function test_log_request_middleware() { $response = $this->get('/minha-rota'); // Verificar se a resposta está correta $response->assertStatus(200); // Verificar se os logs foram gravados corretamente // Isso pode ser feito lendo o arquivo de logs e procurando as entradas de log }
Licença
Este pacote é open-source e está licenciado sob a licença MIT. Para mais detalhes, consulte o arquivo LICENSE.
request-log/log-request-package 适用场景与选型建议
request-log/log-request-package 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 87 次下载、GitHub Stars 达 2, 最近一次更新时间为 2024 年 09 月 12 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 request-log/log-request-package 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 request-log/log-request-package 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 87
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 6
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2024-09-12