traceid #1

Merged
jcgitadmin merged 1 commits from log/traceid into main 2025-12-08 18:19:52 +08:00
4 changed files with 85 additions and 0 deletions

View File

@ -8,6 +8,7 @@ use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Str;
class LogMiddleware
{
@ -22,6 +23,12 @@ class LogMiddleware
*/
public function handle($request, Closure $next)
{
$traceId = $request->header('X-Trace-Id');
if (!$traceId) {
$traceId = Str::uuid()->toString();
}
Log::withContext(['tid' => substr($traceId, 0, 8)]);
$customer = Auth::guard('customer')->user();
$seller = Auth::guard('seller')->user();
$startTime = microtime(true);

View File

@ -0,0 +1,34 @@
<?php
namespace App\Listeners;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Str;
class CommandStartingListener
{
/**
* Create the event listener.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Handle the event.
*
* @param object $event
* @return void
*/
public function handle($event)
{
//
$traceId = Str::uuid()->toString();
Log::withContext(['tid' => substr($traceId, 0, 8)]);
}
}

View File

@ -0,0 +1,34 @@
<?php
namespace App\Listeners;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Str;
class JobProcessingListener
{
/**
* Create the event listener.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Handle the event.
*
* @param object $event
* @return void
*/
public function handle($event)
{
//
$traceId = Str::uuid()->toString();
Log::withContext(['tid' => substr($traceId, 0, 8)]);
}
}

View File

@ -6,15 +6,19 @@ use App\Events\OrderPaySuccessEvent;
use App\Events\OrderTicketedEvent;
use App\Events\OrderWinedEvent;
use App\Events\PaySuccessEvent;
use App\Listeners\CommandStartingListener;
use App\Listeners\CustomerWinAddLevelListener;
use App\Listeners\GenerateCustomerRankingListener;
use App\Listeners\JobProcessingListener;
use App\Listeners\OrderPaySuccessListener;
use App\Listeners\OrderTicketedListener;
use App\Listeners\OrderWinListener;
use App\Listeners\RechargeListener;
use Illuminate\Auth\Events\Registered;
use Illuminate\Auth\Listeners\SendEmailVerificationNotification;
use Illuminate\Console\Events\CommandStarting;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
use Illuminate\Queue\Events\JobProcessing;
class EventServiceProvider extends ServiceProvider
@ -25,6 +29,12 @@ class EventServiceProvider extends ServiceProvider
* @var array
*/
protected $listen = [
JobProcessing::class => [
JobProcessingListener::class,
],
CommandStarting::class => [
CommandStartingListener::class,
],
Registered::class => [
SendEmailVerificationNotification::class,
],