Seiten
Inhalt
@xpulse/logger – API
Server-Variante (`@xpulse/logger/server`)
logger.init()
Liest Konfiguration aus xpulse.json und .env, richtet Log-Level und Datei-Sink ein.
| import logger from '@xpulse/logger/server'; |
| await logger.init(); |
logger.create(module)
Gibt einen Modul-Logger zurück.
| const log = logger.create('mein-modul'); |
| log.debug('detail', { key: 'value' }); |
| log.info('server gestartet'); |
| log.warn('timeout überschritten'); |
| log.error('unbekannter fehler', new Error('...')); |
logger.startup({ name, port, env })
Gibt eine standardisierte Startup-Zeile aus.
logger.formatIp(ip)
Anonymisiert IP-Adressen (letztes Oktett → 0). Bei DEBUG=true wird die vollständige IP zurückgegeben.
Client-Variante (`@xpulse/logger/client`)
| import logger from '@xpulse/logger/client'; |
| await logger.init(); |
| const log = logger.create('presence'); |
| log.debug('verbindung aufgebaut', { peerId: 'abc' }); |
logger.init()
Liest Konfiguration (sofern @xpulse/config verfügbar). Setzt Level und enabled. Optional — im Browser kann @xpulse/config fehlen, dann gelten die Defaults (level: 'info').
logger.setLevel(level)
Setzt das Log-Level zur Laufzeit. Nützlich wenn der Level nach einem API-Call bekannt ist (z.B. nach /health).
| logger.setLevel('debug'); |
Gültige Werte: 'debug' · 'info' · 'warn' · 'error' · 'off'
logger.create(module)
Gibt einen Modul-Logger zurück — identisch zur Server-Variante.
Konfiguration
| { |
| "log": { |
| "enabled": true, |
| "level": "info", |
| "paths": { "file": "var/log/" } |
| } |
| } |
| Env-Variable | Beschreibung |
|---|---|
LOG |
true/false – Logging ein/aus (betrifft Datei und Konsole) |
LOG_CONSOLE_LEVEL |
Minimales Level für Konsolen-Ausgabe (z.B. warn) – Log-Datei bleibt unverändert |
DEBUG |
true → Level debug, vollständige IPs |
Events
| Event | Payload | Wann |
|---|---|---|
logger:init |
{ level, enabled } |
Init beginnt (Server + Client) |
logger:ready |
{ level, enabled, sink } |
Init abgeschlossen (Server + Client) |
logger:write |
{ level, module, message, data, timestamp } |
Jeder Log-Eintrag (nur Server) |