在同一次运行中将 console.log 输出覆盖到新文件

问题描述

我想每次都将 console.log 写入一个文件。它不应该覆盖文件。我的代码是这样的 -

  const fs = require('fs')
    const myConsole = new console.Console(fs.createWriteStream('output.txt',{flags : 'w'}));
function abc(){
---
---
myConsole.log
abc()
}
abc()

函数 abc 将无限循环运行,我的 output.txt 文件会继续追加日志而不是覆盖它。

解决方法

所以我不完全确定 nightmarejs 是如何计算这里的等式的,但一般来说,创建一个类似 console.log 的函数来写入文件非常简单。

同样,由于我不完全熟悉您的要求,我假设您只需要模拟此新文件记录器的基本 console.log 功能,而您实际上并不想覆盖 {{1 }} 本身写入文件与控制台。下面是一些可以让您走上正轨的代码:

console.log()

注意 const fs = require('fs'); ... ... const logger = fs.createWriteStream('/path/to/log/file',{flags : 'w'}); logger.write('just use it as if you are using console.log()'); 选项。这将每次覆盖您的文件。 {flags : 'w'} 将附加。