Menu

Logger Helper

v1.0.0

Static and event-driven logging utility that supports multiple log levels and real-time log listeners via a onLog() API.
It allows you to intercept, modify, or cancel logs and even react to them (e.g., for telemetry or debugging) in a centralized way.

Usage
// simple logging
LoggerHelper.info('App started', { env: 'dev' });
LoggerHelper.warn('Low disk space', { freeBytes: 1024 });

// turning off all logging
LoggerHelper.setEnabled(false);
LoggerHelper.info('this will not be printed');
LoggerHelper.setEnabled(true);
Basic Observer
const unsubscribe = LoggerHelper.onLog(payload => {
	// payload: { type, args, timestamp }
	// z. B. Telemetrie senden (fire-and-forget)
	fetch('/api/log', { method: 'POST', body: JSON.stringify(payload) }).catch(() => {});
});

// unsubscribe from onLog
unsubscribe();
Filter Logs
// prevent debug messages from reaching console
LoggerHelper.onLog(p => {
	if (p.type === 'debug') return false; // veto -> console.debug wird nicht aufgerufen
});
Quick Reference
// Log Levels
LoggerHelper.log(...args: unknown[]): void;
LoggerHelper.info(...args: unknown[]): void;
LoggerHelper.warn(...args: unknown[]): void;
LoggerHelper.debug(...args: unknown[]): void;
LoggerHelper.error(...args: unknown[]): void;

// Listener
const off = LoggerHelper.onLog((payload) => { /* ... */ }, /* once? */ false);
// unsubscribe
off();
Payload
type LogPayload = {
	type: LogType; // 'log' | 'info' | 'warn' | 'debug' | 'error'
	args: unknown[]; // original Log-Argument
	timestamp: string; // ISO timestamp
};

Previous: Helpers

← LocalStorage Helper

Next: Helpers

Token Helper →