@extends('layouts.app') @section('title', 'API 로그 상세') @section('content')

API 로그 상세

@if($log->response_status >= 400) @endif

요청 정보

메서드
{{ $log->method }}
상태 코드
{{ $log->response_status }}
응답 시간
{{ number_format($log->duration_ms) }}ms
요청 시간
{{ $log->created_at->format('Y-m-d H:i:s') }}
URL
{{ $log->url }}
라우트
{{ $log->route_name ?? '-' }}
IP 주소
{{ $log->ip_address ?? '-' }}
테넌트
@if($log->tenant) {{ $log->tenant->company_name }} (#{{ $log->tenant_id }}) @else {{ $log->tenant_id ?? '-' }} @endif
사용자
@if($log->user) {{ $log->user->name ?? $log->user->email }} (#{{ $log->user_id }}) @else {{ $log->user_id ? "#{$log->user_id}" : 'guest' }} @endif
그룹 ID
@if($log->group_id) {{ Str::limit($log->group_id, 20) }} @else - @endif
@if($log->group_id && count($groupLogs) > 0)

같은 그룹의 요청 ({{ count($groupLogs) }}개) 전체 보기

@foreach($groupLogs as $gLog) @endforeach
시간 메서드 URL 상태 응답
{{ $gLog->created_at->format('H:i:s.u') }} {{ $gLog->method }} {{ $gLog->path }} {{ $gLog->response_status }} {{ number_format($gLog->duration_ms) }}ms 상세
@endif @if($log->user_agent)

User Agent

{{ $log->user_agent }}
@endif @if($log->request_headers)

요청 헤더

{!! stripslashes(json_encode($log->request_headers, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES)) !!}
@endif @if($log->request_query && count($log->request_query) > 0)

쿼리 파라미터

{!! stripslashes(json_encode($log->request_query, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES)) !!}
@endif @if($log->request_body && count($log->request_body) > 0)

요청 바디

{!! stripslashes(json_encode($log->request_body, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES)) !!}
@endif @if($log->response_body)

응답 바디

@php $responseData = json_decode($log->response_body, true); @endphp @if($responseData)
{!! stripslashes(json_encode($responseData, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES)) !!}
@else
{{ $log->response_body }}
@endif
@endif @if($log->response_status >= 400) @endif @endsection