Mat*_*nti 2 file node.js console.log
这应该是一个微不足道的问题,但我似乎并没有理解它.有没有简单的方法将我的所有console.log输出重定向到文件?console.log以一种很好的方式格式化提供的对象,并与不是普通JSONable对象的对象正确交互.
例如,如果我这样做
var myerr = new Error('There has been an error');
console.log(myerr);
Run Code Online (Sandbox Code Playgroud)
我明白了
[Error: There has been an error.]
Run Code Online (Sandbox Code Playgroud)
如果我这样做的话
process.stdout.write(JSON.stringify(myerr));
Run Code Online (Sandbox Code Playgroud)
我明白了
{}
Run Code Online (Sandbox Code Playgroud)
如果我这样做
process.stdout.write(myerr.toString());
Run Code Online (Sandbox Code Playgroud)
我明白了
Error: There has been an error
Run Code Online (Sandbox Code Playgroud)
因此,如果我console.log使用上面的任何技巧在其参数上循环的函数覆盖我,并将输出重定向到文件,则日志将不完全相同.
所以我想知道:console.log在将它们输出到控制台之前,如何处理它所提供的对象?它只是调用.toString()每个对象,包装[]并发送所有内容process.stdout.write?或者它是否进行其他类型的预处理?
小智 5
我认为使用linux I/O重定向的简单方法.只需以这种方式运行您的应用程序:
node app.js > log.txt
Run Code Online (Sandbox Code Playgroud)
来自您应用的所有输出消息都将重定向到log.txt
| 归档时间: |
|
| 查看次数: |
10313 次 |
| 最近记录: |