import IAppender from './IAppender'; import {LoggingLevel} from '../LoggingLevel'; import assertUnreachable from '../../../lang/assertUnreachable'; export class ConsoleAppender implements IAppender { append(timestamp: string, level: LoggingLevel, category: string, message: string): void { switch (level) { case LoggingLevel.Debug: case LoggingLevel.Info: case LoggingLevel.Warning: case LoggingLevel.Trace: console.info(`${timestamp} [${category}] ${message}`); break; case LoggingLevel.Error: console.error(`${timestamp} [${category}] ${message}`); break; case LoggingLevel.Fatal: console.error(`${timestamp} [${category}] ${message}`); break; case LoggingLevel.Off: case LoggingLevel.All: break; default: assertUnreachable(level); } } }