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