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 HelperNext: Helpers
Token Helper →