My server gets a response from another server with a document from a mongodb database with a body similar to
{
messageDetails: {
body: "hello"
},
customerDetails: {
cstmrFirstName: 'Random',
cstmrLastName: 'Name',
},
}
But the response with the body is being logged to the console as:
{
messageDetails: [Object],
customerDetails: [Object],
}
How can I log the full object to the console with each object's properties?
My server gets a response from another server with a document from a mongodb database with a body similar to
{
messageDetails: {
body: "hello"
},
customerDetails: {
cstmrFirstName: 'Random',
cstmrLastName: 'Name',
},
}
But the response with the body is being logged to the console as:
{
messageDetails: [Object],
customerDetails: [Object],
}
How can I log the full object to the console with each object's properties?
Share Improve this question asked Apr 4, 2022 at 3:55 darkshadowtraildarkshadowtrail 3473 silver badges18 bronze badges4 Answers
Reset to default 5You can use console.dir. To print with unlimited depth, use {depth: null}
option:
console.dir(body, {depth: null});
Try console.log(JSON.stringify(body))
Checkout MDN doc JSON.stringify() for more details
To anyone using Deno (I didn't test this anywhere else):
To make console.dir
disregard depth limits, pass a second argument with depth set to Infinity
:
console.dir(body, { depth: Infinity });
Based on @A1exandr Belan's answer, but changing null
to Infinity
, since it seems console.dir
takes null
as 0
and outputs just a simple [Array]
.
const util = require('util')
console.log(util.inspect(objectName, {showHidden: false, depth: null, colors: true}))