request-log/log-request-package 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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 我们能提供哪些服务?
定制开发 / 二次开发

基于 request-log/log-request-package 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 87
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 6
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2024-09-12