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
+5 -2
View File
@@ -8,6 +8,9 @@ import { prisma } from '@/lib/db';
import bcrypt from 'bcrypt';
import { generateAccessToken, generateRefreshToken } from '@/lib/utils/jwt';
import { getEncryptionService } from '@/lib/services/encryption.service';
import { RMABLogger } from '@/lib/utils/logger';
const logger = RMABLogger.create('API.Auth.AdminLogin');
/**
* POST /api/auth/admin/login
@@ -58,7 +61,7 @@ export async function POST(request: NextRequest) {
const decryptedHash = encryptionService.decrypt(user.authToken || '');
passwordValid = await bcrypt.compare(password, decryptedHash);
} catch (error) {
console.error('[AdminLogin] Password verification failed:', error);
logger.error('Password verification failed', { error: error instanceof Error ? error.message : String(error) });
return NextResponse.json(
{
error: 'AuthenticationError',
@@ -109,7 +112,7 @@ export async function POST(request: NextRequest) {
},
});
} catch (error) {
console.error('Failed to authenticate admin user:', error);
logger.error('Failed to authenticate admin user', { error: error instanceof Error ? error.message : String(error) });
return NextResponse.json(
{
error: 'AuthenticationError',