Naplózás
Áttekintés
Szekció neve “Áttekintés”Az ElyOS saját naplózási rendszert használ, amely több célra (konzol, fájl, adatbázis) tud egyszerre írni. A naplók a beépített Log alkalmazásban tekinthetők meg.
Logger importálása
Szekció neve “Logger importálása”import { logger } from '$lib/server/logging';Naplózási szintek
Szekció neve “Naplózási szintek”logger.debug('Részletes debug információ', { extra: 'adat' });logger.info('Általános információ');logger.warn('Figyelmeztetés', { context: 'valami' });logger.error('Hiba történt', { error: err });logger.fatal('Kritikus hiba', { error: err });Strukturált naplózás
Szekció neve “Strukturált naplózás”A logger strukturált adatokat fogad el második paraméterként:
logger.info('Felhasználó bejelentkezett', { userId: user.id, email: user.email, ip: event.getClientAddress()});
logger.error('Adatbázis hiba', { operation: 'findUser', userId: id, error: error.message});Naplózás szerver akcióban
Szekció neve “Naplózás szerver akcióban”import { command, getRequestEvent } from '$app/server';import { logger } from '$lib/server/logging';
export const myAction = command(schema, async (input) => { const { locals } = getRequestEvent();
logger.info('Akció végrehajtva', { action: 'myAction', userId: locals.user?.id, input });
try { // ... logika return { success: true }; } catch (error) { logger.error('Akció sikertelen', { action: 'myAction', error: error instanceof Error ? error.message : String(error) }); return { success: false, error: 'Belső hiba' }; }});Konfigurálás
Szekció neve “Konfigurálás”A naplózás a .env fájlban konfigurálható:
| Változó | Alapértelmezett | Leírás |
|---|---|---|
LOG_TARGETS | console | Vesszővel elválasztott célok: console, file, database |
LOG_LEVEL | error | Minimális szint: debug, info, warn, error, fatal |
LOG_DIR | ./logs | Naplófájlok könyvtára (ha file cél aktív) |
Fejlesztői konfiguráció
Szekció neve “Fejlesztői konfiguráció”LOG_TARGETS=consoleLOG_LEVEL=debugÉles konfiguráció
Szekció neve “Éles konfiguráció”LOG_TARGETS=console,databaseLOG_LEVEL=infoLog alkalmazás
Szekció neve “Log alkalmazás”A beépített Log alkalmazás (src/apps/log/) megjeleníti az adatbázisba mentett naplókat. Csak admin jogosultsággal érhető el.
A naplók az error_logs táblában tárolódnak, ha a database cél aktív.
Kliens oldali hibák naplózása
Szekció neve “Kliens oldali hibák naplózása”A kliens oldali JavaScript hibák automatikusan naplózódnak a /api/log végponton keresztül. Ez a hooks.client.ts-ben van beállítva.