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