xxxx
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
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}
|
||||
Reference in New Issue
Block a user