Files
ChannelTests-TS/test/logger/LoggingLevel.ts
2025-08-18 17:18:43 -04:00

61 lines
1.6 KiB
TypeScript

export enum LoggingLevel {
Off = 0,
Fatal = 1,
Error = 2,
Warning = 3,
Info = 4,
Debug = 5,
Trace = 6,
All = 7
}
export type LoggingLevelType = 'Off' | 'Fatal' | 'Error' | 'Warning' | 'Info' | 'Debug' | 'Trace' | 'All';
export class LoggingLevelMapping {
public static convertLoggingLevelToLoggingLevelType(level: LoggingLevel): LoggingLevelType {
switch (level) {
case LoggingLevel.Off:
return 'Off';
case LoggingLevel.Fatal:
return 'Fatal';
case LoggingLevel.Error:
return 'Error';
case LoggingLevel.Warning:
return 'Warning';
case LoggingLevel.Info:
return 'Info';
case LoggingLevel.Debug:
return 'Debug';
case LoggingLevel.Trace:
return 'Trace';
case LoggingLevel.All:
return 'All';
default:
throw new Error(`[LoggingLevelMapping] Received unknown logging level [${level}]`);
}
}
public static convertLoggingLevelTypeToLoggingLevel(level: LoggingLevelType): LoggingLevel {
switch (level) {
case 'Off':
return LoggingLevel.Off;
case 'Fatal':
return LoggingLevel.Fatal;
case 'Error':
return LoggingLevel.Error;
case 'Warning':
return LoggingLevel.Warning;
case 'Info':
return LoggingLevel.Info;
case 'Debug':
return LoggingLevel.Debug;
case 'Trace':
return LoggingLevel.Trace;
case 'All':
return LoggingLevel.All;
default:
throw new Error(`[LoggingLevelMapping] Received unknown logging level type [${level}]`);
}
}
}