Initial Commit
This commit is contained in:
31
src/appenders/ConsoleAppender.ts
Normal file
31
src/appenders/ConsoleAppender.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import {LoggingLevel, LoggingLevelType} from '../level/LoggingLevel';
|
||||
import LoggingLevelMapping from '../level/LoggingLevelMapping';
|
||||
import IAppender from './IAppender';
|
||||
import {assertUnreachable} from '@techniker-me/tools';
|
||||
|
||||
export default class ConsoleAppender implements IAppender {
|
||||
public log(timestamp: string, level: LoggingLevelType, category: string, message: string) {
|
||||
const loggingLevel = LoggingLevelMapping.convertLoggingLevelTypeToLoggingLevel(level);
|
||||
|
||||
switch (loggingLevel) {
|
||||
case LoggingLevel.Off:
|
||||
break;
|
||||
|
||||
case LoggingLevel.Warn:
|
||||
case LoggingLevel.Error:
|
||||
console.error(`${timestamp} [${level}] [${category}] ${message}`);
|
||||
break;
|
||||
|
||||
case LoggingLevel.Info:
|
||||
case LoggingLevel.Debug:
|
||||
case LoggingLevel.Trace:
|
||||
case LoggingLevel.Silly:
|
||||
case LoggingLevel.All:
|
||||
console.log(`${timestamp} [${level}] [${category}] ${message}`);
|
||||
break;
|
||||
|
||||
default:
|
||||
assertUnreachable(loggingLevel);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user