UNPKG

@obsidize/logger

Version:
30 lines (29 loc) 991 B
import { LogEventSerializer } from '../core/log-event-serializer'; import { LogLevel } from '../core/log-level'; function invokeConsole(target, level, message, params) { if (level >= LogLevel.ERROR) { target.error(message, ...params); return; } if (level >= LogLevel.WARN) { target.warn(message, ...params); return; } target.log(message, ...params); } /** * Send events to a target console-like instance. * @param config - optional customization config * @returns an outlet function that can be invoked by a transport */ export function consoleOutput(config = {}) { const target = config.target || console; const invoke = config.invoke || invokeConsole; const serialize = LogEventSerializer.parseDelegateFrom(config); return (ev) => { const { level, params } = ev; const p = Array.isArray(params) ? params : []; const message = serialize(ev); invoke(target, level, message, p); }; }