我正在使用 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');
Run Code Online (Sandbox Code Playgroud)
日志文件被附加到,但是当我更改代码并保存我的文件时,nodemon再次运行它并再次附加日志文件。这导致日志文件越来越长,我必须不断手动删除内容。
我想我可以用这个fs模块做一些事情,但使用 Winston 说类似的东西会好得多update: replace|append,但我看不到任何可用的东西。
有什么办法可以清除日志文件,所以我只有上次运行代码时的日志条目..?
Mat*_*ttG 11
这
{ flags: 'w' }
Run Code Online (Sandbox Code Playgroud)
新传输上的选项对象上的属性对我有用:
{ flags: 'w' }
Run Code Online (Sandbox Code Playgroud)
我知道这个问题有点过时了,但我最近找到了这个问题的答案,并认为我会在这里分享给后代。您可以将fs.createWriteStream选项传递给File记录器:
// Open the file in "write" mode, which truncates first
options: { flags: 'w' },
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3607 次 |
| 最近记录: |