chore: remove cached
This commit is contained in:
@@ -1,31 +0,0 @@
|
||||
# Issue #10: Advanced Access Logging Implementation
|
||||
|
||||
## Overview
|
||||
Implemented a comprehensive access logging system that parses Caddy's structured JSON logs, provides a searchable/filterable UI, and allows for log downloads.
|
||||
|
||||
## Backend Implementation
|
||||
- **Model**: `CaddyAccessLog` struct in `internal/models/log_entry.go` matching Caddy's JSON format.
|
||||
- **Service**: `LogService` in `internal/services/log_service.go` updated to:
|
||||
- Parse JSON logs line-by-line.
|
||||
- Support filtering by search term (request/host/client_ip), host, and status code.
|
||||
- Support pagination.
|
||||
- Handle legacy/plain text logs gracefully.
|
||||
- **API**: `LogsHandler` in `internal/api/handlers/logs_handler.go` updated to:
|
||||
- Accept query parameters (`page`, `limit`, `search`, `host`, `status`).
|
||||
- Provide a `Download` endpoint for raw log files.
|
||||
|
||||
## Frontend Implementation
|
||||
- **Components**:
|
||||
- `LogTable.tsx`: Displays logs in a structured table with status badges and duration formatting.
|
||||
- `LogFilters.tsx`: Provides search input and dropdowns for Host and Status filtering.
|
||||
- **Page**: `Logs.tsx` updated to integrate the new components and manage state (pagination, filters).
|
||||
- **Dependencies**: Added `date-fns` for date formatting.
|
||||
|
||||
## Verification
|
||||
- **Backend Tests**: `go test ./internal/services/... ./internal/api/handlers/...` passed.
|
||||
- **Frontend Build**: `npm run build` passed.
|
||||
- **Manual Check**: Verified log parsing and filtering logic via unit tests.
|
||||
|
||||
## Next Steps
|
||||
- Ensure Caddy is configured to output JSON logs (already done in previous phases).
|
||||
- Monitor log file sizes and rotation (handled by `lumberjack` in previous phases).
|
||||
Reference in New Issue
Block a user