node.js - 将 Node.js 配置为记录到文件而不是控制台

标签 node.js logging console.log

我可以配置 console.log 以便将日志写入文件而不是打印在控制台中吗?

最佳答案

你也可以重载默认的 console.log 函数:

var fs = require('fs');
var util = require('util');
var log_file = fs.createWriteStream(__dirname + '/debug.log', {flags : 'w'});
var log_stdout = process.stdout;

console.log = function(d) { //
  log_file.write(util.format(d) + '\n');
  log_stdout.write(util.format(d) + '\n');
};

以上示例将记录到 debug.log 和 stdout。

编辑: See multiparameter version by Clément也在这个页面上。

关于node.js - 将 Node.js 配置为记录到文件而不是控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8393636/

相关文章:

javascript - 如何从 Node Sax 中的 XML 文件读取 CDATA

python - 用 Python 写入 Windows 日志

javascript - typescript : unable to read a property of an object even though it's there

在 Ubuntu 12.04 上使用 http.createServer().listen() 时 Node.js 未处理的 'error' 事件

node.js - 使用nodeJs/Adonis在heroku上部署: I'm getting 503 Status - Service Unvailable

python - 使用日志记录的 TimedRotatingFileHandler 创建 .log 文件

javascript - Chrome 的 JavaScript 控制台在评估对象方面是否懒惰?

javascript - 尝试 catch ex.stack 只获取第一行

javascript - 如何设置 Firebase 数据库规则以不允许删除或更新子项?

.net - 使用 EventSource 记录 ETW 丢失事件的风险