gpt4 book ai didi

node.js - NodeJs 捕获所有 process.stdout 到文件

转载 作者:行者123 更新时间:2023-12-02 04:17:14 24 4
gpt4 key购买 nike

我正在寻找一种方法来获取所有 process.stdout 并通过管道传输到日志文件,我有以下内容:

import fs from 'fs';
let logFile = fs.createWriteStream('./test.log', {
encoding: 'utf8',
flags : 'a'
});
process.stdout.pipe(logFile);

但是,它似乎仍然将所有 stdout 吐到控制台,我在日志文件中没有得到任何东西(尽管它正在创建)。

最佳答案

我宁愿让程序写入stdout,并让调用 Node 的进程决定如何处理输出:

Node 服务器 | tee 测试日志

这有几个好处:

  • 不会将您的代码耦合到您的日志基础设施
  • 在您写入日志时不锁定文件(例如,每当您想要轮换日志时都需要重新启动您的进程——这对服务器不利)

并且避免了一个非常严重的缺点:

  • 您不必对任何可能在您的应用程序中的其他地方产生严重副作用(或与另一个做同样事情的库发生冲突)的核心 Node 进行 monkeypatch

关于node.js - NodeJs 捕获所有 process.stdout 到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32927441/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com