UNPKG

pinetto

Version:

Isomorphic, opinionated logging library focusing on simplicity and readability. Supports child loggers.

47 lines 1.37 kB
import { LEVELS, NOOP } from './constants.js'; import { format } from './format.js'; export class LogMethods { #level; #writer; #datetime; constructor(writer, level = 'info', datetime) { this.#writer = writer; this.level = level; this.#datetime = datetime; } get level() { return this.#level; } set level(value) { for (let i = 0, seen = false, level; i < LEVELS.length; i += 1) { level = LEVELS[i]; if (seen || (seen = level === value)) { this[level] = LogMethods.prototype[level]; } else { this[level] = NOOP; } } } error(prefix, message, args) { this.#writer.write(format(this.#datetime, 'ERR', prefix, message, args)); } ; warn(prefix, message, args) { this.#writer.write(format(this.#datetime, 'WRN', prefix, message, args)); } ; info(prefix, message, args) { this.#writer.write(format(this.#datetime, 'INF', prefix, message, args)); } ; debug(prefix, message, args) { this.#writer.write(format(this.#datetime, 'DBG', prefix, message, args)); } ; trace(prefix, message, args) { this.#writer.write(format(this.#datetime, 'TRC', prefix, message, args)); } ; } //# sourceMappingURL=methods.js.map