http://nodejs.org/api/util.html#util_util_format_format
util.format('%s:%s', 'foo'); // 'foo:%s'
如果参数多于占位符,则额外参数将转换为
util.inspect()
的字符串,并且这些字符串将连接起来,并以空格分隔。
我正在使用此util.format
,但我想控制它自动调用的util.inspect
的行为。具体来说,传递depth:null
选项。
有办法吗?
Monkey-patching util.inspect
不起作用,因为util.format
内部只调用它inspect
function (f) {
if (typeof f !== 'string') {
var objects = [];
for (var i = 0; i < arguments.length; i++) {
objects.push(inspect(arguments[i]));
...
答案 0 :(得分:0)
我想我必须先手动util.inspect
元素,然后再将它们投入util.format
for(var k in str)
if (typeof str[k] !== 'string')
str[k] = util.inspect(str[k], {depth:null})
util.format.apply(null, str);