首页 > 解决方案 > 不希望特定键及其值显示在 console.log 中

问题描述

所以我正在开发一个 expressJS 应用程序,在其中我将应用程序的所有传入请求和传出响应打印到控制台。现在我不希望某些特定的键和它们的值显示在控制台上。我使用 console.log() 如何跳过这些,其中一些嵌套在对象内而不是第一级,否则很容易做到。或者是否有任何其他记录方法允许将请求和响应对象中深度嵌套的键列入黑名单?

谢谢!

标签: javascriptnode.jsexpressdebuggingconsole.log

解决方案


您可以在记录之前对对象进行字符串化。JSON.stringify方法将函数作为第二个参数,您可以在其中指定实际字符串化的内容,因此只需发出键或值,如下所示:

const stringToLog = JSON.stringify(objectToLog, function(key, value) { if (key === 'dontWantThisKey) return; if (value === 'dontWantThisValue) return; return vlaue; });


推荐阅读