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修补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]));
...
我想在将元素输入util.format
之前,我只需要手动util.inspect
元素
for(var k in str)
if (typeof str[k] !== 'string')
str[k] = util.inspect(str[k], {depth:null})
util.format.apply(null, str);