32 lines
865 B
TypeScript
32 lines
865 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);
|
|
}
|
|
}
|
|
}
|