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 {
预发布版本号为带有 “-
” 的版本。注:该配置只对当前版本为正式版本时有效。
+