2
我有一个温斯顿记录伟大的工程:记录仪不保存所需的所有日志信息 - 节点JS异步
var systemLogger = new (winston.Logger)({
transports: [
new (winston.transports.Console)({
timestamp: function() {
return moment().format('D/MM/YYYY HH:mm:ss:SSS')
},
colorize: true
}),
new (require('winston-daily-rotate-file'))({
filename: 'logs/-system.log',
datePattern: 'dd-MM-yyyy',
prepend: true,
json: false,
timestamp: function() {
return moment().format('D/MM/YYYY HH:mm:ss:SSS')
},
formatter: formatter
})
]
})
我把这个记录在我的计划:
var systemLogger = require('./logging.js')
var asyncTasks = []
asyncTasks.push(function(callback) {
systemLogger.info('Saved the Updates', {
'URL': url
})
callback()
})
asyncTasks.push(function(callback) {
systemLogger.info('Status Updates', {
'Status': status
})
callback()
})
async.parallel(asyncTasks, function(error, data) {
if (!done) {
process.exit(!error)
}
})
我已经简化我的代码尽可能多,但想法是我在整个程序中生成了不同的日志消息,我将它们添加到数组中并将它们并行运行。
现在....这引起了一个问题。所有日志消息都被打印到控制台,但只有一个被保存到我的实际日志文件中。这是为什么?
我试着将日志消息注释掉并重新运行程序,但仍然只有一条消息被保存在上面的例子中。任何帮助将不胜感激!
假设 - 这可能是因为我在同一时间将信息保存到同一个日志文件 - 但这只是两个小行,所以我假设它被打印在控制台它应该也保存正确?
什么''中logging.js' formatter'?在你的例子中它是未定义的。 – DrakaSAN
另外,请测试您的示例代码,以便我们可以立即使用它来尝试查明问题,而不是花时间修复mising依赖项,缺少变量... – DrakaSAN
formatter指的是我使用的自定义格式化程序。尽管如此,这并不影响结果。我错过了它们以简化代码 – deeveeABC