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

API 요청 로그

@csrf
@csrf
@if(session('success'))
{{ session('success') }}
@endif
전체 요청
{{ number_format($stats['total']) }}
성공 (2xx)
{{ number_format($stats['success']) }}
클라이언트 에러 (4xx)
{{ number_format($stats['client_error']) }}
서버 에러 (5xx)
{{ number_format($stats['server_error']) }}
평균 응답시간
{{ number_format($stats['avg_duration']) }}ms
@php $selectedMethods = request('method', []); if (!is_array($selectedMethods)) { $selectedMethods = $selectedMethods ? [$selectedMethods] : []; } @endphp
@foreach(['GET', 'POST', 'PUT', 'PATCH', 'DELETE'] as $method) @endforeach
초기화
@if(request('group_id'))
그룹 ID: {{ request('group_id') }} 필터 적용 중 필터 해제
@endif
@forelse($logs as $log) @empty @endforelse
시간 메서드 URL 상태 응답 테넌트 사용자 그룹
{{ $log->created_at->format('H:i:s') }} {{ $log->method }}
{{ $log->path }}
@php $params = $log->request_body ?: $log->request_query ?: []; if (is_array($params) && !empty($params)) { $paramPairs = []; foreach ($params as $key => $value) { if (is_array($value)) { $value = json_encode($value, JSON_UNESCAPED_UNICODE); } $paramPairs[] = $key . '=' . Str::limit((string)$value, 20); } $paramSummary = implode(', ', $paramPairs); } else { $paramSummary = ''; } @endphp @if(!empty($paramSummary))
{{ $paramSummary }}
@endif
{{ $log->response_status }} {{ number_format($log->duration_ms) }}ms @if($log->tenant) {{ Str::limit($log->tenant->company_name, 10) }} @else - @endif @if($log->user) {{ $log->user->name ?? $log->user->email }} @else guest @endif @if($log->group_id && ($groupCounts[$log->group_id] ?? 0) >= 2) {{ $groupCounts[$log->group_id] }} @else - @endif
@if($log->response_status >= 400) @endif
로그가 없습니다.
@if($logs->hasPages())
{{ $logs->links() }}
@endif
@foreach($logs as $log) @if($log->response_status >= 400) @endif @endforeach @include('dev-tools.partials.auth-modal') @include('dev-tools.partials.auth-scripts') @endsection