merged util.format branch (fixes a lint error and simplifies the code)

This commit is contained in:
Gareth Jones
2013-06-05 08:52:07 +10:00
3 changed files with 12 additions and 34 deletions

View File

@@ -26,40 +26,19 @@ var dateFormat = require('./date_format')
OFF: "grey"
};
function formatLogData(logData) {
var output = ""
, data = Array.isArray(logData) ? logData.slice() : Array.prototype.slice.call(arguments)
, format = data.shift();
if (typeof format === "string") {
output = format.replace(replacementRegExp, function(match) {
switch (match) {
case "%s":
return data.shift().toString();
case "%d":
return new Number(data.shift());
case "%j":
return JSON.stringify(data.shift());
default:
return match;
}
});
} else {
//put it back, it's not a format string
data.unshift(format);
}
data.forEach(function (item) {
if (output) {
output += ' ';
}
output += util.inspect(item);
if (item && item.stack) {
output += "\n" + item.stack;
function wrapErrorsWithInspect(items) {
return items.map(function(item) {
if ((item instanceof Error) && item.stack) {
return { inspect: function() { return util.format(item) + '\n' + item.stack; } };
} else {
return item;
}
});
}
return output;
function formatLogData(logData) {
var data = Array.isArray(logData) ? logData : Array.prototype.slice.call(arguments);
return util.format.apply(util, wrapErrorsWithInspect(data));
}
var styles = {