创建日志失败后,不影响程序使用。

pull/434/head
王良 2025-01-13 16:12:43 +08:00
parent c562e6ad7d
commit 66c9f0c3bd
1 changed files with 22 additions and 17 deletions

View File

@ -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
}
},
}