UNPKG

typescript-logging

Version:

Library for logging, written in typescript, can be used by normal es5+ javascript as well.

44 lines (36 loc) 1.18 kB
import {AbstractLogger, LogMessage} from "./AbstractLogger"; import {LogGroupRuntimeSettings} from "./LogGroupRuntimeSettings"; /** * Logger which buffers all messages, use with care due to possible high memory footprint. * Can be convenient in some cases. Call toString() for full output, or cast to this class * and call getMessages() to do something with it yourself. */ export class MessageBufferLoggerImpl extends AbstractLogger { private messages: string[] = []; constructor(name: string, logGroupRuntimeSettings: LogGroupRuntimeSettings) { super(name, logGroupRuntimeSettings); } public close(): void { this.messages = []; super.close(); } public getMessages(): string[] { return this.messages; } public toString(): string { return this.messages.map((msg) => { return msg; }).join("\n"); } protected doLog(message: LogMessage): void { const messageFormatter = this._getMessageFormatter(); let fullMsg: string; if (messageFormatter === null) { fullMsg = this.createDefaultLogMessage(message); } else { fullMsg = messageFormatter(message); } this.messages.push(fullMsg); } }