节点:登录文件而不是控制台

节点:登录文件而不是控制台

问题描述:

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

Can I configure console.log so that the logs are written on a file instead of being printed in the console?

更新2013年- 这是围绕Node v0.2和v0.4编写的;现在,围绕日志记录有更好的工具.我强烈建议温斯顿

2013年末更新- 我们仍然使用winston,但是现在有了logger库,用于围绕自定义对象的记录和格式来包装功能.这是我们logger.js的示例 https://gist.github.com/rtgibbons/7354879

应该像这样简单.

var access = fs.createWriteStream(dir + '/node.access.log', { flags: 'a' })
      , error = fs.createWriteStream(dir + '/node.error.log', { flags: 'a' });

// redirect stdout / stderr
proc.stdout.pipe(access);
proc.stderr.pipe(error);