diff --git a/packages/core/src/config/index.js b/packages/core/src/config/index.js index 37468dd..59ae39b 100644 --- a/packages/core/src/config/index.js +++ b/packages/core/src/config/index.js @@ -69,6 +69,10 @@ module.exports = { // 慢速IP延迟时间:测速超过该值时,则视为延迟高,显示为橙色 lowSpeedDelay: 200, + + // 日志相关配置 + logFileSavePath: path.join(getUserBasePath(), '/logs'), // 日志文件保存路径 + keepLogFileCount: 15, // 保留日志文件数 }, compatible: { // **** 自定义兼容配置 **** // diff --git a/packages/core/src/utils/util.log.js b/packages/core/src/utils/util.log.js index 20e1078..5c73495 100644 --- a/packages/core/src/utils/util.log.js +++ b/packages/core/src/utils/util.log.js @@ -1,4 +1,5 @@ const log4js = require('./util.logger') const logger = log4js.getLogger('core') + module.exports = logger diff --git a/packages/core/src/utils/util.logger.js b/packages/core/src/utils/util.logger.js index 6d15c06..275739b 100644 --- a/packages/core/src/utils/util.logger.js +++ b/packages/core/src/utils/util.logger.js @@ -5,19 +5,44 @@ const config = require('../config/index') const level = process.env.NODE_ENV === 'development' ? 'debug' : 'info' function getDefaultConfigBasePath () { - return config.server.setting.userBasePath + if (config.server.setting.logFileSavePath) { + let logFileSavePath = config.server.setting.logFileSavePath + if (logFileSavePath.endsWith('/') || logFileSavePath.endsWith('\\')) { + logFileSavePath = logFileSavePath.slice(0, -1) + } + // eslint-disable-next-line no-template-curly-in-string + return logFileSavePath.replace('${userBasePath}', config.server.setting.userBasePath) + } else { + return path.join(config.server.setting.userBasePath, '/logs') + } } -const coreLogFilename = path.join(getDefaultConfigBasePath(), '/logs/core.log') -const guiLogFilename = path.join(getDefaultConfigBasePath(), '/logs/gui.log') -const serverLogFilename = path.join(getDefaultConfigBasePath(), '/logs/server.log') +// 日志文件名 +const coreLogFilename = path.join(getDefaultConfigBasePath(), '/core.log') +const guiLogFilename = path.join(getDefaultConfigBasePath(), '/gui.log') +const serverLogFilename = path.join(getDefaultConfigBasePath(), '/server.log') +// 日志相关配置 +const backups = config.server.setting.keepLogFileCount // 保留日志文件数 +const appenderConfig = { + type: 'file', + pattern: 'yyyy-MM-dd', + keepFileExt: true, // 保留日志文件扩展名 + compress: true, // 压缩日志文件 + + // 以下三个配置都设置,兼容新旧版本 + backups, + numBackups: backups, + daysToKeep: backups, +} + +// 设置日志配置 log4js.configure({ appenders: { std: { type: 'stdout' }, - core: { type: 'file', pattern: 'yyyy-MM-dd', daysToKeep: 3, filename: coreLogFilename }, - gui: { type: 'file', pattern: 'yyyy-MM-dd', daysToKeep: 3, filename: guiLogFilename }, - server: { level: 'debug', type: 'file', pattern: 'yyyy-MM-dd', daysToKeep: 3, filename: serverLogFilename }, + core: { ...appenderConfig, filename: coreLogFilename }, + gui: { ...appenderConfig, filename: guiLogFilename }, + server: { ...appenderConfig, filename: serverLogFilename }, }, categories: { default: { appenders: ['std'], level }, diff --git a/packages/gui/src/view/pages/setting.vue b/packages/gui/src/view/pages/setting.vue index 6cdc518..0942ab1 100644 --- a/packages/gui/src/view/pages/setting.vue +++ b/packages/gui/src/view/pages/setting.vue @@ -450,6 +450,13 @@ export default { 预发布版本号为带有 “-” 的版本。注:该配置只对当前版本为正式版本时有效。 +
+ + + + + +