【发布时间】:2021-05-26 10:40:43
【问题描述】:
我正在尝试根据代码运行时的时间戳编写日志文件。 设置名称后日志写得很好,例如“Test.log”:
const appSettings = {
log4js: {
traceLogConfig: {
appenders: {
fileAppender: { type: 'file', filename: `./logs/Test.log`},
consoleAppender: { type: 'console' }
},
categories: {
default: { appenders: ['fileAppender', 'consoleAppender'], level: 'trace'}
}
}
}
};
在“logs”文件夹中正确创建了一个具有该名称的日志文件,并填充了来自代码的日志。 但是,当我尝试使名称动态化时,事情变得更加复杂:
const appSettings = {
log4js: {
traceLogConfig: {
appenders: {
fileAppender: { type: 'file', filename: `./logs/${new Date().toISOString().toString().replace(":","-")}`},
consoleAppender: { type: 'console' }
},
categories: {
default: { appenders: ['fileAppender', 'consoleAppender'], level: 'trace'}
}
}
}
};
当我运行它时,该文件在文件夹中正确创建,但是当代码运行时它没有被日志条目填充。 我尝试单独创建名称并将其放入代码中:
let name = new Date().toISOString().toString().replace(":","-");
const appSettings = {
log4js: {
traceLogConfig: {
appenders: {
fileAppender: { type: 'file', filename: `./logs/${name}`},
consoleAppender: { type: 'console' }
},
categories: {
default: { appenders: ['fileAppender', 'consoleAppender'], level: 'trace'}
}
}
}
};
但这也没有解决问题。
【问题讨论】:
标签: node.js dynamic log4js-node