将节点调试日志的内容写入文件

时间:2015-04-04 15:30:23

标签: node.js bash pipe stdout

我可以将此输出的内容写入文件吗?我使用debug模块记录消息,我希望能够将它们传输到文件中。但它没有按预期工作。

$ DEBUG=* node -e 'var debug = require("debug")("test"); debug("hello world")'
    test hello world +0ms
$ DEBUG=* node -e 'var debug = require("debug")("test"); debug("hello world")' > temp.txt
    test hello world +0ms

试过这个并没有收到任何输出。

$ { DEBUG=* node -e "var debug = require('debug')('test'); debug('hello world')"; } >temp.txt
    test hello world +0ms

2 个答案:

答案 0 :(得分:4)

  1. 确保您运行的是最新版本的debug
  2. 您需要使用DEBUG_FD=3 env标志以及3>来管道
  3. 这是一个例子。

    $ DEBUG_FD=3 DEBUG=foo node -e "require('debug')('foo')('hello')" 3> foo.txt
    

    来自回购的问题request/question: is there a way for debug to log to a file?

答案 1 :(得分:1)

使用 DEBUG_FD=3 对我不起作用。

对我有用的选项是使用 2> 到管道:

DEBUG=* node --inspect=0.0.0.0:9229 . 2> log.txt