Created scaffolding for Logging
This commit is contained in:
parent
ecff8798fe
commit
8eacebc306
|
|
@ -0,0 +1,44 @@
|
||||||
|
|
||||||
|
export enum LogSeverity {
|
||||||
|
FATAL,
|
||||||
|
ERROR,
|
||||||
|
WARN,
|
||||||
|
INFO,
|
||||||
|
DEBUG,
|
||||||
|
TRACE
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum LogModule {
|
||||||
|
PROCESS,
|
||||||
|
USER
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract class Logger {
|
||||||
|
readonly module = {
|
||||||
|
...LogModule
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract log(severity: LogSeverity, module: LogModule, message: string): void
|
||||||
|
fatal(module: LogModule, message: string): void { this.log(LogSeverity.FATAL, module, message) }
|
||||||
|
error(module: LogModule, message: string): void { this.log(LogSeverity.ERROR, module, message) }
|
||||||
|
warn(module: LogModule, message: string): void { this.log(LogSeverity.WARN, module, message) }
|
||||||
|
info(module: LogModule, message: string): void { this.log(LogSeverity.INFO, module, message) }
|
||||||
|
debug(module: LogModule, message: string): void { this.log(LogSeverity.DEBUG, module, message) }
|
||||||
|
trace(module: LogModule, message: string): void { this.log(LogSeverity.TRACE, module, message) }
|
||||||
|
}
|
||||||
|
|
||||||
|
function create_log_string(severity: LogSeverity, module: LogModule, message: string): string {
|
||||||
|
return `${(new Date()).toISOString()} [${LogModule[module]}] [${LogSeverity[severity]}] ${message}`
|
||||||
|
}
|
||||||
|
|
||||||
|
class DebugLogger extends Logger {
|
||||||
|
|
||||||
|
log(severity: LogSeverity, module: LogModule, message: string): void {
|
||||||
|
console.log(create_log_string(severity, module, message))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const _logger: Logger = new DebugLogger()
|
||||||
|
|
||||||
|
|
||||||
|
export default _logger
|
||||||
Loading…
Reference in New Issue