flynns7/http-logger 问题修复 & 功能扩展

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

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

flynns7/http-logger

最新稳定版本:v0.1.4

Composer 安装命令:

composer require flynns7/http-logger

包简介

Custom http logging channel for Laravel.

README 文档

README

Gunakan composer yang versi terbaru, jika belum install terlebih dahulu di composer.

Setelah composer terinstall lakukan perintah

"composer require flynns7/http-logger" 

dalam folder project laravel

Pentujuk Penggunaan

  • Langkah selanjutnya publish file config dengan lakukan perintah "php artisan vendor:publish --tag=config" kemudian nanti akan muncul file app-logger.php di config\api-logger.php dan sesuaikan variable constant dalam file tersebut.

  • Tahap selanjutnya adalah menambah channel "http" log pada file config/logging.php

    'channels' => [

        'http' => [
            'driver' => 'http',
        ],
    ]
  • Tahap terakhir adalah untuk membuat middleware atau custom middleware yg dipakai dengan menambahkan code sebagai berikut :
  use Flynns7\HttpLogger\Traits\Logging;
  class LogRequests
  {
      use Logging;
      public function handle($request, Closure $next)
      {
          $request->attributes->set('start', microtime(true));
          return $next($request);
      }
  
      public function terminate($request, $response)
      {
          $request->attributes->set('end', microtime(true));
          $this->log($request, $response);
      }
  }

Tambahan jika ingin melakukan logging dalam file php lainnya seperti controller atau ketika melakukan http request :

        $request = '' // diambil dari request body
        $response = '' //diambil dari response api atau response error lainnya
        $context = array(
            'request' => $request->all(),
            'response' => $this->extractResponseContent($response),
            'processing_time' => $duration,
        );
        Log::channel('http')->info("Request Log", $context);

untuk versi v0.1.0 ada tambahan untuk bisa mengubah case name sesuai kebuthan di table route_logs_mapping, tetapi sebelum itu wajib menjalankan artisan command sebagai berikut :

php artisan http-logger:install

setelah mengubah name case di table lakukan perintahan sinkrosisasi sebagai berikut

http-logger:sync-routes-mapping

Tambahan jika ingin menggunakan langsung tanpa middleware bisa pakai contoh dibawah ini


        $context = array(
            'request' => $request->all(),
            'response' => $this->extractResponseContent($response),
            'processing_time' => $duration, // Convert to milliseconds
            'actionName' => 'custom action name'
        );
        Log::channel('http')->info("Request Log", $context);

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-07-14