node.js - NodeJS - WinstonJS - 清除日志文件

标签 node.js nodemon

我使用 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 的东西会好得多,但我可以看不到任何可用的东西。

有什么方法可以清除日志文件,这样我的代码就只有最后一次运行时的日志条目了吗?

最佳答案

{ flags: 'w' }

新传输上选项对象的属性对我有用:

  transports: [
    new winston.transports.File({ filename: 'myLog.txt', options: { flags: 'w' } })
  ]

关于node.js - NodeJS - WinstonJS - 清除日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34316818/

相关文章:

javascript - 当涉及到数据库请求时,WebSockets 可以取代 AJAX 吗?

javascript - Nodemon每次重启前执行函数

node.js - Nodemon 启动脚本并运行 eslint

javascript数组作为字符串列表(保留引号)

javascript - 即使结果正确,Mocha 测试也会失败

node.js - 如何使 Node 调度在 Heroku 中工作?

javascript - NodeJS - nodemon 没有重新启动我的服务器

node.js - 重新编译 Electron 时出错 "sharp"

node.js - 如何使用 Nodemon 执行启动脚本

javascript - 如何按 Mongoose 中的字段对记录进行分组?