UNPKG

amos-ionic-logging

Version:
97 lines (91 loc) 2.45 kB
import * as log4javascript from "log4javascript"; import { LogLevel } from "./log-level.model"; /** * Helper class for converting log levels from and to different data type. */ export class LogLevelConverter { /** * Converts log4javascript.Level to internal LogLevel. * * @param level log4javascript's data type * @return internal data type. */ public static levelFromLog4Javascript(level: log4javascript.Level): LogLevel { switch (level) { case log4javascript.Level.ALL: return LogLevel.ALL; case log4javascript.Level.DEBUG: return LogLevel.DEBUG; case log4javascript.Level.ERROR: return LogLevel.ERROR; case log4javascript.Level.FATAL: return LogLevel.FATAL; case log4javascript.Level.INFO: return LogLevel.INFO; case log4javascript.Level.OFF: return LogLevel.OFF; case log4javascript.Level.TRACE: return LogLevel.TRACE; case log4javascript.Level.WARN: return LogLevel.WARN; default: throw new Error(`invalid level ${level}`); } } /** * Converts string representation to internal LogLevel. * * @param level string representation * @return internal data type. */ public static levelFromString(level: string): LogLevel { switch (level) { case "ALL": return LogLevel.ALL; case "DEBUG": return LogLevel.DEBUG; case "ERROR": return LogLevel.ERROR; case "FATAL": return LogLevel.FATAL; case "INFO": return LogLevel.INFO; case "OFF": return LogLevel.OFF; case "TRACE": return LogLevel.TRACE; case "WARN": return LogLevel.WARN; default: throw new Error(`invalid level ${level}`); } } /** * Converts internal LogLevel to log4javascript.Level. * * @param internal data type. * @return level log4javascript's data type */ public static levelToLog4Javascript(level: LogLevel): log4javascript.Level { switch (level) { case LogLevel.ALL: return log4javascript.Level.ALL; case LogLevel.DEBUG: return log4javascript.Level.DEBUG; case LogLevel.ERROR: return log4javascript.Level.ERROR; case LogLevel.FATAL: return log4javascript.Level.FATAL; case LogLevel.INFO: return log4javascript.Level.INFO; case LogLevel.OFF: return log4javascript.Level.OFF; case LogLevel.TRACE: return log4javascript.Level.TRACE; case LogLevel.WARN: return log4javascript.Level.WARN; default: throw new Error(`invalid level ${level}`); } } }