我正在尝试使用 winston 记录器,但与文件传输一起使用时似乎有一种奇怪的行为。也许这是我想念的东西,我无法弄清楚。我创建了一个简单的例子来说明这个问题。它使用摩卡咖啡进行测试。
var log = require('winston')
log.add(log.transports.File, { filename: 'output.log' });
describe('Logger', function() {
it('should save the 1st message', function(done) {
log.info('1: this is the 1st message', function() {
console.log('done 1')
done()
})
})
it('should save the 2nd message', function(done) {
console.log('before test 2')
log.info('2: this is the 2nd message', function() {
console.log('done 2')
done()
})
})
it('should save the 3rd message', function(done) {
log.info('3: this is the 3rd message', function() {
console.log('done 3')
done()
})
})
}
)
第一条消息保存在 output.log 文件中,但不保存其他消息。实际上,只调用了第一个测试的回调。已'before test 2'
打印,但'done 2'
不是...并且第二条消息也未保存。
但是,当我评论第二行 ( log.add(log.transports.File,...
) 时,它的行为正常,在控制台中显示所有消息。我错过了什么还是一个错误?
我使用的winston 版本是0.7.1。
提前致谢。
ps:这console.log
只是为了测试测试;-)