我正在使用Vitest,在我的测试中,我想控制台日志输出的东西。但是如果我这样记录:
console.log({ a: { b: { c: { d: { e: 1 } } } } });
我得到这个输出:
{ a: { b: { c: [Object] } } }
console.dir()也是如此。有什么方法可以增加Vitest中对象日志的深度吗?我正在使用JSON.stringify()来解决这个问题,但如果将它的格式设置为默认格式会很有帮助。
aiazj4mn1#
从question:使用250R回答:使用util.inspect():
util.inspect()
const util = require('util') console.log(util.inspect(myObject, {showHidden: false, depth: null, colors: true})) // alternative shortcut console.log(util.inspect(myObject, false, null, true /* enable colors */))
输出:
{ a: 'a', b: { c: 'c', d: { e: 'e', f: { g: 'g', h: { i: 'i' } } } } }
或者你可以在问题页面上找到做同样事情的其他方法;你可以挑你觉得舒服的
2ul0zpep2#
你可以在没有额外lib的情况下这样做:
function logAllParameters(obj, prefix = '') { for (let key in obj) { if (typeof obj[key] === 'object') { logAllParameters(obj[key], prefix + key + '.'); } else { console.log(prefix + key + ':', obj[key]); } } } const obj = { a: { b: { c: { d: { e: 1 } } } } }; logAllParameters(obj);
2条答案
按热度按时间aiazj4mn1#
从question:
使用250R回答:
使用
util.inspect()
:输出:
或者你可以在问题页面上找到做同样事情的其他方法;你可以挑你觉得舒服的
2ul0zpep2#
你可以在没有额外lib的情况下这样做: