Implement centralized logging with RMABLogger

Replaces scattered console statements with a unified RMABLogger across backend API routes and services. Adds LOG_LEVEL-based filtering, job-aware database persistence, and context-based logging. Updates documentation to describe the new logging system and usage patterns. Also documents qBittorrent CSRF header fix
This commit is contained in:
kikootwo
2026-01-12 12:45:48 -05:00
parent ba5f5cf7d6
commit 682836237b
118 changed files with 1623 additions and 1079 deletions
+6 -3
View File
@@ -6,6 +6,9 @@
import { NextRequest, NextResponse } from 'next/server';
import { verifyAccessToken, TokenPayload } from '../utils/jwt';
import { prisma } from '../db';
import { RMABLogger } from '../utils/logger';
const logger = RMABLogger.create('Auth');
export interface AuthenticatedRequest extends NextRequest {
user?: TokenPayload & { id: string };
@@ -40,7 +43,7 @@ export async function requireAuth(
const token = extractToken(request);
if (!token) {
console.error('[Auth Middleware] No token provided');
logger.error('No token provided');
return NextResponse.json(
{
error: 'Unauthorized',
@@ -53,7 +56,7 @@ export async function requireAuth(
const payload = verifyAccessToken(token);
if (!payload) {
console.error('[Auth Middleware] Token verification failed');
logger.error('Token verification failed');
return NextResponse.json(
{
error: 'Unauthorized',
@@ -69,7 +72,7 @@ export async function requireAuth(
});
if (!user) {
console.error('[Auth Middleware] User not found in database:', payload.sub);
logger.error('User not found in database', { userId: payload.sub });
return NextResponse.json(
{
error: 'Unauthorized',