xPulse
🇩🇪 DE

@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)
de/api.md 2026-04-10