Javascript NodeJS中的缩进多行日志记录

Javascript NodeJS中的缩进多行日志记录,javascript,node.js,logging,console,stdout,Javascript,Node.js,Logging,Console,Stdout,我想将JSON.stringify()'d对象打印到控制台,作为Mocha测试套件输出的一部分 当测试缩进时,我希望对象日志行向右缩进足够远(例如,3-4个制表符空间),这样它们就可以在右侧descripe()组中识别 我如何使用console.log或process.stdout.write?如果仅用于console.log,您可能希望查找组,请在控制台上检查以下内容: var obj={ 答:1,, b:2, c:3 } console.log('Non-tabbed'); console

我想将
JSON.stringify()
'd对象打印到控制台,作为Mocha测试套件输出的一部分

当测试缩进时,我希望对象日志行向右缩进足够远(例如,3-4个制表符空间),这样它们就可以在右侧
descripe()
组中识别


我如何使用
console.log
process.stdout.write
?如果仅用于console.log,您可能希望查找组,请在控制台上检查以下内容:

var obj={
答:1,,
b:2,
c:3
}
console.log('Non-tabbed');
console.group();
log(JSON.stringify(obj,null,2));
console.groupEnd();

console.log(“返回到非选项卡”)您可以在JSON.stringify输出上添加一个简短的reg ex replace,以获得您想要的效果

var myObject = _buildAnObject();   

it("Should log my entire JSON.stringify indented", function(){
   console.log("My log message: \n\t" 
        + JSON.stringify(myObject, null, 2).replace(/\n\r?/g, '\n\t'));
   assert(true);
});

我已经在上面放了一个可以工作的摩卡示例。

请查看第四列上的
JSON.stringify
的额外参数,它将初始的花括号保留在第0列,并在对象的所有深度创建空格。我想要一个普通的
JSON.stringify(obj,null,2)
输出,全部右移三个tabspaces。然后您想要将整个字符串右移三个tabspaces?@MinusFour-是。每一条线都需要改变。这个答案是错误的。Node.JS从v8.5.0开始就有
console.group
。@Utku添加了说明。如果我是你,我会删除该段落并链接到该包。现在它在本地运行,没有必要使事情复杂化。