最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

在 NodeJS 的 console.log 中的每一行的开头添加选项卡

网站源码admin31浏览0评论

在 NodeJS 的 console.log 中的每一行的开头添加选项卡

在 NodeJS 的 console.log 中的每一行的开头添加选项卡

我在我的代码中经常使用 console.log 来更好地调试。例如,在我的

cart.js
文件夹中的
controllers
文件中,在
getProductsInCart
函数中,我这样做:

控制器/cart.js

console.log('[controllers/cart.js].getProductsInCart', '\nproducts =', products);`

终端中给我以下结果:

[controllers/cart.js].getProductsInCart // <-- where `products` object is located 
products = [
  {
    productId: new ObjectId("645a54116710e60e28b96903"),
    quantity: 1,
    _id: new ObjectId("645a6e2e119c195fd8b32f99")
  }
]

My

products
对象是从 MongoDB 中获取的。然而,当我开始在不同的文件中拥有越来越多的函数和变量时,日志会有点难以阅读。

因此,我希望终端中记录的每个变量如下所示:

[controllers/cart.js].getProductsInCart
        products = [
            {
                productId: new ObjectId("645a54116710e60e28b96903"),
                quantity: 1,
                _id: new ObjectId("645a6e2e119c195fd8b32f99")
            }
        ]

如何在每行的开头添加 2 个选项卡,使我的

products
值看起来像那样?

回答如下:

如果您反对将日志记录库引入您的项目,请考虑使用

JSON.stringify()
为产品对象添加额外的缩进或
console.group()
/
console.groupEnd()
为中间打印的所有行添加缩进,或两者的组合.

JSON.stringify()的第三个参数为结果字符串中嵌套的对象的每一层增加了一些空格:

console.log('something', 'products =', JSON.stringify(products, null, 5))

需要注意的是,空间的数量会随着嵌套的每一层而成倍增加。

console.group() / groupEnd() 让你缩进它们之间的行:

console.group();
console.log('1'); // indented
console.groupEnd();
console.log('2'); // not indented

console.dir() 是另一个用于记录对象的有用工具。它为属性值添加颜色,这通常有助于提高可读性。

发布评论

评论列表(0)

  1. 暂无评论