refactor(logging): replace console.* with structured logger across server

Add server/logger.js - zero-dependency, level-based logger that outputs
JSON in production and human-readable format in development. Controlled
via LOG_LEVEL env var (debug/info/warn/error, default: info).

Replaces all 100 console.log/warn/error calls in 14 server files.
This commit is contained in:
Ulas
2026-04-03 22:05:22 +02:00
parent 5b1e6915ac
commit 3b90074723
16 changed files with 185 additions and 100 deletions
+8 -5
View File
@@ -6,6 +6,9 @@
'use strict';
const { createLogger } = require('../logger');
const log = createLogger('Dashboard');
const express = require('express');
const router = express.Router();
const db = require('../db');
@@ -48,7 +51,7 @@ router.get('/', (req, res) => {
LIMIT 5
`).all(now.toISOString());
} catch (err) {
console.error('[Dashboard] upcomingEvents-Fehler:', err.message);
log.error('upcomingEvents-Fehler:', err.message);
result.upcomingEvents = [];
}
@@ -74,7 +77,7 @@ router.get('/', (req, res) => {
LIMIT 5
`).all();
} catch (err) {
console.error('[Dashboard] urgentTasks-Fehler:', err.message);
log.error('urgentTasks-Fehler:', err.message);
result.urgentTasks = [];
}
@@ -92,7 +95,7 @@ router.get('/', (req, res) => {
END
`).all(todayStr);
} catch (err) {
console.error('[Dashboard] todayMeals-Fehler:', err.message);
log.error('todayMeals-Fehler:', err.message);
result.todayMeals = [];
}
@@ -106,7 +109,7 @@ router.get('/', (req, res) => {
LIMIT 3
`).all();
} catch (err) {
console.error('[Dashboard] pinnedNotes-Fehler:', err.message);
log.error('pinnedNotes-Fehler:', err.message);
result.pinnedNotes = [];
}
@@ -121,7 +124,7 @@ router.get('/', (req, res) => {
res.json(result);
} catch (err) {
console.error('[Dashboard] Kritischer Fehler:', err.message);
log.error('Kritischer Fehler:', err.message);
res.status(500).json({ error: 'Dashboard konnte nicht geladen werden.', code: 500 });
}
});