我使用WinstonJS登录文件,nodemon
在我更新代码时重新启动。
var winston = require('winston');
var logger = new (winston.Logger)({
transports: [
new (winston.transports.File)({
level: 'silly',
filename: __dirname + '/logs/test.log',
json: false
})
]
});
logger.log('info', 'something');
正在附加日志文件,但是当我更改代码并保存文件时,nodemon
再次运行它并再次附加日志文件。这导致日志文件不断变得越来越长,我必须手动删除内容。
我想我可以使用fs
模块做一些事情,但使用Winston说update: replace|append
这样的东西要好得多,但我看不到那些可用的东西。
有没有办法清除日志文件,所以我上次运行代码时只有日志条目..?
答案 0 :(得分:1)
我知道这个问题有点过时,但我最近找到了答案,并认为我会在这里分享后代。您可以将fs.createWriteStream
个选项传递给File
记录器:
// Open the file in "write" mode, which truncates first
options: { flags: 'w' },
答案 1 :(得分:0)
{ flags: 'w' }
新传输上的options对象的属性对我有用:
transports: [
new winston.transports.File({ filename: 'myLog.txt', options: { flags: 'w' } })
]