API 로그 목록 UI 개선
- 파라미터 표시: URL 아래에 key=value 형식으로 표시 - 아코디언 기능: row 클릭 시 요청 헤더/응답 바디 확장 표시 - 요청 헤더: 각 항목별 한 줄 포맷 (key: value) - 아이콘 버튼: 상세(눈), AI 복사(복사) 아이콘으로 변경 - AI 복사: 에러(400+) 로그에만 AI 분석 복사 버튼 표시 - 레이아웃: 테이블 컬럼 고정 너비, 셀 중간 정렬 - 아코디언 스타일: 테두리 추가, 배경색 조정 - 모든 로그 삭제(truncate) 기능 추가
This commit is contained in:
@@ -60,7 +60,18 @@ public function index(Request $request): View
|
||||
|
||||
$logs = $query->paginate(50)->withQueryString();
|
||||
|
||||
return view('api-logs.index', compact('logs', 'stats'));
|
||||
// 현재 페이지 로그들의 그룹별 개수 조회
|
||||
$groupIds = $logs->pluck('group_id')->filter()->unique()->values()->toArray();
|
||||
$groupCounts = [];
|
||||
if (!empty($groupIds)) {
|
||||
$groupCounts = ApiRequestLog::whereIn('group_id', $groupIds)
|
||||
->selectRaw('group_id, COUNT(*) as count')
|
||||
->groupBy('group_id')
|
||||
->pluck('count', 'group_id')
|
||||
->toArray();
|
||||
}
|
||||
|
||||
return view('api-logs.index', compact('logs', 'stats', 'groupCounts'));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -75,7 +86,7 @@ public function show(int $id): View
|
||||
if ($log->group_id) {
|
||||
$groupLogs = ApiRequestLog::where('group_id', $log->group_id)
|
||||
->where('id', '!=', $log->id)
|
||||
->orderBy('created_at')
|
||||
->orderByDesc('created_at')
|
||||
->get();
|
||||
}
|
||||
|
||||
@@ -92,4 +103,15 @@ public function prune()
|
||||
return redirect()->route('dev-tools.api-logs.index')
|
||||
->with('success', "{$deleted}개의 로그가 삭제되었습니다.");
|
||||
}
|
||||
|
||||
/**
|
||||
* 모든 로그 삭제
|
||||
*/
|
||||
public function truncate()
|
||||
{
|
||||
$deleted = ApiRequestLog::truncate();
|
||||
|
||||
return redirect()->route('dev-tools.api-logs.index')
|
||||
->with('success', '모든 로그가 삭제되었습니다.');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user