UNPKG

@rs-r2d2/log4ts

Version:

A powerful, flexible logging library for TypeScript inspired by Apache Log4j, featuring colored output and emojis

22 lines (21 loc) 900 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PatternLayout = void 0; const LogLevel_1 = require("../core/LogLevel"); const ColorConfig_1 = require("../core/ColorConfig"); class PatternLayout { constructor(pattern = '[%d] [%p] %c - %m', colorConfig) { this.pattern = pattern; this.colorConfig = colorConfig || new ColorConfig_1.ColorConfig(); } format(event) { const baseMessage = this.pattern .replace('%d', event.timestamp.toISOString()) .replace('%p', (0, LogLevel_1.getLevelName)(event.level)) .replace('%c', event.loggerName) .replace('%m', event.message); const coloredMessage = this.colorConfig.formatMessage(event.level, baseMessage); return coloredMessage + (event.error ? '\n' + event.error.stack : ''); } } exports.PatternLayout = PatternLayout;