mirror of
				https://github.com/qist/tvbox.git
				synced 2025-10-30 03:32:19 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			86 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const level_list = ["DEBUG", "INFO", "WARNING", "ERROR"];
 | |
| const file_path = "log"
 | |
| 
 | |
| class JadeLogging {
 | |
| 
 | |
|     constructor(app_name, level = "DEBUG") {
 | |
|         this.app_name = app_name
 | |
|         this.level = level
 | |
|         this.level_index = level_list.indexOf(level)
 | |
|     }
 | |
| 
 | |
| 
 | |
|     format(level, message) {
 | |
|         let max_format = 80
 | |
|         switch (level) {
 | |
|             case "INFO":
 | |
|                 max_format = max_format + 1
 | |
|                 break
 | |
|             case "WARNING":
 | |
|                 max_format = max_format - 2
 | |
|                 break
 | |
|             default :
 | |
|                 break
 | |
|         }
 | |
|         if (message.length < max_format) {
 | |
|             if ((max_format - message.length) % 2 === 0) {
 | |
|                 message = "#".repeat(Math.floor((max_format - message.length) / 2)) + message + "#".repeat(Math.floor((max_format - message.length) / 2))
 | |
|             } else {
 | |
|                 message = "#".repeat(Math.floor((max_format - message.length) / 2)) + message + "#".repeat(Math.floor((max_format - message.length) / 2) + 1)
 | |
|             }
 | |
|         }
 | |
|         return message
 | |
|     }
 | |
| 
 | |
|     getTime() {
 | |
|         const timestamp = new Date();
 | |
|         // 获取当前时间戳
 | |
|         return timestamp.toLocaleDateString().replace(/\//g, "-") + " " + timestamp.toTimeString().substr(0, 8) + "," + timestamp.getMilliseconds().toString()
 | |
|     }
 | |
| 
 | |
|     formatMessage(log_level, message, is_format) {
 | |
|         // 获取北京时间
 | |
|         // 格式化消息
 | |
|         //2023-12-13 15:15:21,409 - 阿里玩偶 -
 | |
|         //2023-12-14T01:43:31.278Z
 | |
|         //2023-12-13 15:15:21,409 - 阿里玩偶 - INFO:
 | |
|         //2023-12-13 15:15:21,409 - 阿里玩偶 - ERROR:
 | |
|         if (is_format) {
 | |
|             message = this.format(log_level, message)
 | |
|         }
 | |
|         return `${this.getTime()} - ${this.app_name} - ${log_level}: ${message}`
 | |
| 
 | |
|     }
 | |
| 
 | |
|     async log(message) {
 | |
|         console.debug(message)
 | |
|         await local.set(file_path,this.getTime(), message);
 | |
|     }
 | |
| 
 | |
|     async info(message, is_format=false) {
 | |
|         if (this.level_index <= 1) {
 | |
|             await this.log(this.formatMessage("INFO", message, is_format))
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     async warning(message, is_format=false) {
 | |
|         if (this.level_index <= 2) {
 | |
|             await this.log(this.formatMessage("WARNING", message, is_format))
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     async error(message, is_format=false) {
 | |
|         if (this.level_index <= 3) {
 | |
|             await this.log(this.formatMessage("ERROR", message, is_format))
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     async debug(message, is_format=false) {
 | |
|         if (this.level_index <= 0) {
 | |
|             await this.log(this.formatMessage("DEBUG", message, is_format))
 | |
|         }
 | |
|     }
 | |
| }
 | |
| 
 | |
| // 测试日志记录函数
 | |
| export {JadeLogging} |