From 25ac02272a346d81ef90b233a18ba9787f7f5a3e Mon Sep 17 00:00:00 2001 From: acgist <289547414@qq.com> Date: Sat, 4 Feb 2023 18:29:11 +0800 Subject: [PATCH] =?UTF-8?q?[+]=20=E6=A0=BC=E5=BC=8F=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- taoyao-media-server/package.json | 3 +-- taoyao-media-server/src/Config.js | 2 ++ taoyao-media-server/src/Logger.js | 26 ++++++++++++++++---------- taoyao-media-server/src/Server.js | 2 +- 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/taoyao-media-server/package.json b/taoyao-media-server/package.json index a29e2b1..3d052ef 100644 --- a/taoyao-media-server/package.json +++ b/taoyao-media-server/package.json @@ -10,8 +10,7 @@ }, "dependencies": { "ws": "^8.12.0", + "moment": "^2.29.4", "mediasoup": "file:./mediasoup" - }, - "devDependencies": { } } diff --git a/taoyao-media-server/src/Config.js b/taoyao-media-server/src/Config.js index 8efe134..0e9feeb 100644 --- a/taoyao-media-server/src/Config.js +++ b/taoyao-media-server/src/Config.js @@ -8,6 +8,8 @@ module.exports = { name: "taoyao-media-server", // 交互式命令行 command: true, + // 日志级别 + logLevel: 'DEBUG', // 信令服务 https: { listenIp: "0.0.0.0", diff --git a/taoyao-media-server/src/Logger.js b/taoyao-media-server/src/Logger.js index 158d4b3..479cdbd 100644 --- a/taoyao-media-server/src/Logger.js +++ b/taoyao-media-server/src/Logger.js @@ -1,12 +1,17 @@ /** * 日志 */ +const moment = require('moment') const config = require("./Config"); class Logger { - // + // 名称 name = config.name; + // 级别 + level = [ "DEBUG", "INFO", "WARN", "ERROR", "OFF" ]; + // 级别索引 + levelIndex = this.level.indexOf(config.logLevel.toUpperCase()); constructor(prefix) { if (prefix) { @@ -15,32 +20,33 @@ class Logger { } debug(...args) { - this.log(console.debug, 'DEBUG', args); + return this.log(console.debug, '37m', 'DEBUG', args); } info(...args) { - this.log(console.info, 'INFO', args); + return this.log(console.info, '32m', 'INFO', args); } warn(...args) { - this.log(console.warn, 'WARN', args); + return this.log(console.warn, '33m', 'WARN', args); } error(...args) { - this.log(console.error, 'ERROR', args); + return this.log(console.error, '31m', 'ERROR', args); } - log(out, level, args) { - if(!args) { - return; + log(out, color, level, args) { + if(!args || this.level.indexOf(level) < this.levelIndex) { + return this; } if(args.length > 1 && args[0].length > 0) { - out(`${this.name}:${level}:${args[0]}`, ...args.slice(1)); + out(`\x1B[${color}${this.name} ${moment().format('yyyy-MM-DD HH:mm:ss')} : [${level.padEnd(5, ' ')}] : ${args[0]}\x1B[0m`, ...args.slice(1)); } else if(args.length === 1 && args[0].length > 0) { - out(`${this.name}:${level}:${args[0]}`); + out(`\x1B[${color}${this.name} ${moment().format('yyyy-MM-DD HH:mm:ss')} : [${level.padEnd(5, ' ')}] : ${args[0]}\x1B[0m`); } else { out(""); } + return this; } } diff --git a/taoyao-media-server/src/Server.js b/taoyao-media-server/src/Server.js index 8d1cbfa..8daf3e6 100644 --- a/taoyao-media-server/src/Server.js +++ b/taoyao-media-server/src/Server.js @@ -23,7 +23,6 @@ let webSocketServer; const mediasoupWorkers = []; process.title = config.name; -process.env.DEBUG = process.env.DEBUG || "*mediasoup* *INFO* *WARN* *ERROR*"; /** * 启动Mediasoup Worker @@ -123,6 +122,7 @@ async function buildSignalServer() { } async function main() { + logger.debug("DEBUG").info("INFO").warn("WARN").error("ERROR"); logger.info("开始启动:%s", config.name); // 启动Mediasoup服务 // await buildMediasoupWorkers();