87 lines
3.0 KiB
TypeScript
87 lines
3.0 KiB
TypeScript
class LOG_LEVEL_TYPES {
|
|
public static DEBUG = 0
|
|
public static LOG = 1
|
|
public static INFO = 2
|
|
public static WARN = 3
|
|
public static ERROR = 4
|
|
}
|
|
|
|
const Log_Level_Names: Array<string> = ['debug', 'log', 'info', 'warn', 'error']
|
|
|
|
export class Logger {
|
|
public static tag: string = '[HaoJslog]' // 可以设置当前游戏的前缀
|
|
public static LEVEL: number = LOG_LEVEL_TYPES.WARN // 当前Logger等级
|
|
public static Log_Color_Config: Array<string> = [
|
|
'color:#890;font-size:10px;',
|
|
'color:#000;font-size:11px;',
|
|
'color:#09f;font-size:12px;',
|
|
'color:#f90;font-size:13px;',
|
|
'color:#f00;font-size:15px;',
|
|
]
|
|
|
|
private static Terminal_Log: boolean = false
|
|
|
|
public static formatNow() {
|
|
const date: Date = new Date() // 后端返回的时间戳是秒
|
|
return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()} ${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}:${date.getMilliseconds()}`
|
|
}
|
|
|
|
private static getLogPreKey(nowLevel: number): string {
|
|
return `[${Logger.formatNow()}] ${Logger.tag} [${Log_Level_Names[nowLevel]}] `
|
|
}
|
|
|
|
public static debug(...params: any) {
|
|
if (Logger.LEVEL > LOG_LEVEL_TYPES.DEBUG)
|
|
return
|
|
|
|
const str: string = this.getLogPreKey(LOG_LEVEL_TYPES.DEBUG)
|
|
const fileStr: string = str + params.join(' ')
|
|
// LogErrorFileUtil.debug(fileStr);
|
|
if (this.Terminal_Log)
|
|
console.log(`%c${str}`, this.Log_Color_Config[LOG_LEVEL_TYPES.DEBUG], ...params)
|
|
else console.info(fileStr)
|
|
}
|
|
|
|
public static log(...params: any) {
|
|
if (Logger.LEVEL > LOG_LEVEL_TYPES.LOG)
|
|
return
|
|
|
|
const str: string = this.getLogPreKey(LOG_LEVEL_TYPES.LOG)
|
|
const fileStr: string = str + params.join(' ')
|
|
// LogErrorFileUtil.log(fileStr);
|
|
if (this.Terminal_Log)
|
|
console.log(`%c${str}`, this.Log_Color_Config[LOG_LEVEL_TYPES.DEBUG], ...params)
|
|
else console.info(fileStr) // console.log(str, ...params)
|
|
}
|
|
|
|
public static info(...params: any) {
|
|
if (Logger.LEVEL > LOG_LEVEL_TYPES.INFO) return
|
|
const str: string = this.getLogPreKey(LOG_LEVEL_TYPES.INFO)
|
|
const fileStr: string = str + params.join(' ')
|
|
if (this.Terminal_Log)
|
|
console.info(`%c${str}`, this.Log_Color_Config[LOG_LEVEL_TYPES.DEBUG], ...params)
|
|
else console.info(fileStr)
|
|
}
|
|
|
|
public static warn(...params: any) {
|
|
if (Logger.LEVEL > LOG_LEVEL_TYPES.WARN)
|
|
return
|
|
|
|
const str: string = this.getLogPreKey(LOG_LEVEL_TYPES.WARN)
|
|
const fileStr: string = str + params.join(' ')
|
|
if (this.Terminal_Log)
|
|
console.warn(`%c${str}`, this.Log_Color_Config[LOG_LEVEL_TYPES.DEBUG], ...params)
|
|
else console.warn(fileStr)
|
|
}
|
|
|
|
public static error(...params: any) {
|
|
if (Logger.LEVEL > LOG_LEVEL_TYPES.ERROR) return
|
|
|
|
const str: string = this.getLogPreKey(LOG_LEVEL_TYPES.ERROR)
|
|
const fileStr: string = str + params.join(' ')
|
|
if (this.Terminal_Log)
|
|
console.error(`%c${str}`, this.Log_Color_Config[LOG_LEVEL_TYPES.DEBUG], ...params)
|
|
else console.error(fileStr)
|
|
}
|
|
}
|