UNPKG

@akala/core

Version:
69 lines 2.32 kB
import { MulticastLogMiddlewareAsync } from './multicast.js'; export class LogRouteMiddlewareAsync { pattern; logger; constructor(pattern, logger) { this.pattern = pattern; this.logger = logger; } shouldHandle(logLevel, namespaces) { return this.pattern === '*' || this.pattern == namespaces[0]; } handle(level, namespaces, ...context) { if (this.shouldHandle(level, namespaces)) return this.logger.handle(level, namespaces.slice(1), ...context); } } export class MulticastLogRouteMiddlewareAsync extends LogRouteMiddlewareAsync { pattern; constructor(pattern) { super(pattern, new MulticastLogMiddlewareAsync()); this.pattern = pattern; this.use = this.logger.use.bind(this.logger); } use; } export class LoggerRouteAsync { pattern; constructor(pattern) { this.pattern = pattern; this.error = new MulticastLogRouteMiddlewareAsync(this.pattern); this.warn = new MulticastLogRouteMiddlewareAsync(this.pattern); this.help = new MulticastLogRouteMiddlewareAsync(this.pattern); this.data = new MulticastLogRouteMiddlewareAsync(this.pattern); this.info = new MulticastLogRouteMiddlewareAsync(this.pattern); this.debug = new MulticastLogRouteMiddlewareAsync(this.pattern); this.prompt = new MulticastLogRouteMiddlewareAsync(this.pattern); this.verbose = new MulticastLogRouteMiddlewareAsync(this.pattern); this.input = new MulticastLogRouteMiddlewareAsync(this.pattern); this.silly = new MulticastLogRouteMiddlewareAsync(this.pattern); } use(namespace) { const sub = new LoggerRouteAsync(namespace); this.pipe(sub); return sub; } pipe(logger) { this.error.use(logger.error); this.warn.use(logger.warn); this.help.use(logger.help); this.data.use(logger.data); this.info.use(logger.info); this.debug.use(logger.debug); this.prompt.use(logger.prompt); this.verbose.use(logger.verbose); this.input.use(logger.input); this.silly.use(logger.silly); } error; warn; help; data; info; debug; prompt; verbose; input; silly; } //# sourceMappingURL=route.js.map