feat(backend): Reduzierung von Konsolenausgaben und Verbesserung der Fehlerbehandlung

- Entfernen von überflüssigen Konsolenausgaben zur Umgebungsvariablen-Überprüfung und Serverstart.
- Vereinfachung der Fehlerausgaben beim Laden der .env-Datei und der Datenbank-Synchronisation.
- Anpassung der Konsolenausgaben für eine klarere und prägnantere Darstellung der Serverinformationen.
This commit is contained in:
Torsten Schulz (local)
2025-08-29 10:54:03 +02:00
parent d59c666ecf
commit ca60821b27
3 changed files with 8 additions and 92 deletions

View File

@@ -6,69 +6,16 @@ import dotenv from 'dotenv';
const __filename = fileURLToPath(import.meta.url); const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename); const __dirname = path.dirname(__filename);
console.log('🔍 [loadEnv] Starte Umgebungsvariablen-Loader...');
console.log('🔍 [loadEnv] Aktuelles Verzeichnis:', process.cwd());
console.log('🔍 [loadEnv] __dirname:', __dirname);
// Resolve backend/.env regardless of cwd // Resolve backend/.env regardless of cwd
const envPath = path.resolve(__dirname, '../.env'); const envPath = path.resolve(__dirname, '../.env');
console.log('🔍 [loadEnv] .env Pfad:', envPath);
// Prüfe ob .env-Datei existiert
import fs from 'fs';
if (fs.existsSync(envPath)) {
console.log('✅ [loadEnv] .env-Datei gefunden');
// Datei-Inhalt prüfen (ohne Passwörter)
const envContent = fs.readFileSync(envPath, 'utf8');
const envLines = envContent.split('\n').filter(line => line.trim() && !line.startsWith('#'));
console.log('📄 [loadEnv] .env-Datei enthält', envLines.length, 'Variablen');
// Zeige Variablen-Namen (ohne Werte)
envLines.forEach(line => {
const [key] = line.split('=');
if (key) {
console.log(' 📋', key.trim());
}
});
} else {
console.log('❌ [loadEnv] .env-Datei nicht gefunden!');
}
// Lade .env-Datei // Lade .env-Datei
const result = dotenv.config({ path: envPath }); const result = dotenv.config({ path: envPath });
if (result.error) { if (result.error) {
console.error('❌ [loadEnv] Fehler beim Laden der .env-Datei:', result.error.message); console.warn('[env] Konnte .env nicht laden:', result.error.message);
} else {
console.log('✅ [loadEnv] .env-Datei erfolgreich geladen');
// Prüfe wichtige Umgebungsvariablen
console.log('🔍 [loadEnv] Wichtige Umgebungsvariablen:');
console.log(' DB_HOST:', process.env.DB_HOST, '(', typeof process.env.DB_HOST, ')');
console.log(' DB_USER:', process.env.DB_USER, '(', typeof process.env.DB_USER, ')');
console.log(' DB_PASS:', process.env.DB_PASS ? '***' : 'undefined', '(', typeof process.env.DB_PASS, ')');
console.log(' DB_NAME:', process.env.DB_NAME, '(', typeof process.env.DB_NAME, ')');
console.log(' DB_PORT:', process.env.DB_PORT, '(', typeof process.env.DB_PORT, ')');
console.log(' NODE_ENV:', process.env.NODE_ENV, '(', typeof process.env.NODE_ENV, ')');
console.log(' PORT:', process.env.PORT, '(', typeof process.env.PORT, ')');
// Spezielle Passwort-Prüfung
if (process.env.DB_PASS) {
console.log('🔍 [loadEnv] DB_PASS Details:');
console.log(' Länge:', process.env.DB_PASS.length);
console.log(' Erste 3 Zeichen:', process.env.DB_PASS.substring(0, 3));
console.log(' Letzte 3 Zeichen:', process.env.DB_PASS.substring(process.env.DB_PASS.length - 3));
console.log(' Enthält Leerzeichen:', process.env.DB_PASS.includes(' '));
console.log(' Enthält Zeilenumbrüche:', process.env.DB_PASS.includes('\n'));
console.log(' Enthält Tabs:', process.env.DB_PASS.includes('\t'));
}
if (!process.env.SECRET_KEY) {
console.warn('⚠️ [loadEnv] SECRET_KEY nicht gesetzt in .env');
} else {
console.log('✅ [loadEnv] SECRET_KEY ist gesetzt');
}
} }
console.log('🔍 [loadEnv] Umgebungsvariablen-Loader abgeschlossen'); if (!process.env.SECRET_KEY) {
console.warn('[env] SECRET_KEY nicht gesetzt in .env');
}
export {}; export {};

View File

@@ -1,45 +1,20 @@
console.log('🚀 [server] Starte YourPart Backend Server...');
console.log('🔍 [server] Aktuelles Verzeichnis:', process.cwd());
console.log('🔍 [server] Node.js Version:', process.version);
console.log('🔍 [server] Platform:', process.platform);
import './config/loadEnv.js'; // .env deterministisch laden import './config/loadEnv.js'; // .env deterministisch laden
console.log('✅ [server] loadEnv.js geladen');
import http from 'http'; import http from 'http';
import app from './app.js'; import app from './app.js';
import { setupWebSocket } from './utils/socket.js'; import { setupWebSocket } from './utils/socket.js';
import { syncDatabase } from './utils/syncDatabase.js'; import { syncDatabase } from './utils/syncDatabase.js';
console.log('🔍 [server] Alle Module geladen');
// Prüfe Umgebungsvariablen nach loadEnv
console.log('🔍 [server] Umgebungsvariablen nach loadEnv:');
console.log(' DB_HOST:', process.env.DB_HOST);
console.log(' DB_USER:', process.env.DB_USER);
console.log(' DB_PASS:', process.env.DB_PASS ? '***' : 'undefined');
console.log(' DB_NAME:', process.env.DB_NAME);
console.log(' DB_PORT:', process.env.DB_PORT);
console.log(' NODE_ENV:', process.env.NODE_ENV);
console.log(' PORT:', process.env.PORT);
const server = http.createServer(app); const server = http.createServer(app);
console.log('✅ [server] HTTP-Server erstellt');
setupWebSocket(server); setupWebSocket(server);
console.log('✅ [server] WebSocket-Setup abgeschlossen');
console.log('🔍 [server] Starte Datenbank-Synchronisation...');
syncDatabase().then(() => { syncDatabase().then(() => {
console.log('✅ [server] Datenbank-Synchronisation erfolgreich');
const port = process.env.PORT || 3001; const port = process.env.PORT || 3001;
server.listen(port, () => { server.listen(port, () => {
console.log('🚀 [server] Server läuft auf Port', port); console.log('Server is running on port', port);
console.log('🌐 [server] Server bereit für Anfragen');
}); });
}).catch(err => { }).catch(err => {
console.error('❌ [server] Datenbank-Synchronisation fehlgeschlagen:', err); console.error('Failed to sync database:', err);
console.error('❌ [server] Stack Trace:', err.stack);
process.exit(1); process.exit(1);
}); });

View File

@@ -3,13 +3,7 @@ import dotenv from 'dotenv';
dotenv.config(); dotenv.config();
// Debug: Verbindungsdaten anzeigen
console.log('🔍 [sequelize] Verbindungsdaten:');
console.log(' DB_NAME:', process.env.DB_NAME);
console.log(' DB_USER:', process.env.DB_USER);
console.log(' DB_PASS:', process.env.DB_PASS ? '***' : 'undefined');
console.log(' DB_HOST:', process.env.DB_HOST);
console.log(' DB_PORT:', process.env.DB_PORT);
const sequelize = new Sequelize(process.env.DB_NAME, process.env.DB_USER, process.env.DB_PASS, { const sequelize = new Sequelize(process.env.DB_NAME, process.env.DB_USER, process.env.DB_PASS, {
host: process.env.DB_HOST, host: process.env.DB_HOST,