From 66c9f0c3bdd0d9794233ea9ff061b6ef54c07700 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E8=89=AF?= <841369634@qq.com> Date: Mon, 13 Jan 2025 16:12:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E6=97=A5=E5=BF=97=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=E5=90=8E=EF=BC=8C=E4=B8=8D=E5=BD=B1=E5=93=8D=E7=A8=8B?= =?UTF-8?q?=E5=BA=8F=E4=BD=BF=E7=94=A8=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/core/src/utils/util.logger.js | 39 +++++++++++++++----------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/packages/core/src/utils/util.logger.js b/packages/core/src/utils/util.logger.js index 40b091b..026384e 100644 --- a/packages/core/src/utils/util.logger.js +++ b/packages/core/src/utils/util.logger.js @@ -30,6 +30,8 @@ const appenderConfig = { backups: configFromFiles.app.keepLogFileCount, // 保留日志文件数 } +let log = null + // 设置一组日志配置 function log4jsConfigure (categories) { const config = { @@ -47,25 +49,28 @@ function log4jsConfigure (categories) { } log4js.configure(config) -} -function getLogger (category) { - if (category === 'core' || category === 'gui') { - // core 和 gui 的日志配置,因为它们在同一进程中,所以一起配置,且只能配置一次 - if (!log4js.isConfigured()) { - log4jsConfigure(['core', 'gui']) - } - } else { - if (!log4js.isConfigured()) { - log4jsConfigure([category]) - } else { - throw new Error(`当前进程已经设置过日志配置,无法设置 "${category}" 的配置,如果与其他类型的日志在同一进程是写入,请参照 core 和 gui 单独设置`) - } - } - - return log4js.getLogger(category) + // 拿第一个日志类型来logger并设置到log变量中 + log = log4js.getLogger(categories[0]) } module.exports = { - getLogger, + getLogger (category) { + if (category === 'core' || category === 'gui') { + // core 和 gui 的日志配置,因为它们在同一进程中,所以一起配置,且只能配置一次 + if (log == null) { + log4jsConfigure(['core', 'gui']) + } + + return log4js.getLogger(category) + } else { + if (log == null) { + log4jsConfigure([category]) + } else { + log.error(`当前进程已经设置过日志配置,无法设置 "${category}" 的配置,先临时返回 "${log.category}" 的 log 进行日志记录。如果与其他类型的日志在同一进程中写入,请参照 core 和 gui 一起配置`) + } + + return log + } + }, }