Files
ChannelTests-TS/test/logger/appenders/ConsoleAppender.ts
2025-08-18 21:51:28 -04:00

32 lines
875 B
TypeScript

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);
}
}
}