1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- 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}
|