From: Ben Beltran Date: Fri, 9 Jan 2015 16:23:41 +0000 (-0600) Subject: Makes formatter truly extensible, adds isoDate opt X-Git-Url: https://git.r.bdr.sh/rbdr/cologne/commitdiff_plain/6c37857f165d160ede4bf1a1b02b1204655633f3?ds=sidebyside Makes formatter truly extensible, adds isoDate opt --- diff --git a/lib/formatters/token.js b/lib/formatters/token.js index 4fa7d57..f3afba2 100644 --- a/lib/formatters/token.js +++ b/lib/formatters/token.js @@ -2,13 +2,23 @@ Module(Cobalt.Formatter, 'Token')({ formatString : "{{message}}", replaceRule : /{{(.*?)}}/g, separatorLength : 60, + isoDate : true, separatorType : "-", format : function (logObject, opts){ var indent, indentSize, separatorLength, separatorType, - output; + output, property; indentSize = logObject._indentLevel || 0; + // Extend opts + if (opts) { + for (property in opts) { + if (opts.hasOwnProperty(property)) { + this[property] = opts[property]; + } + } + } + indent = Array(indentSize + 1).join(' '); if (logObject._separator) { @@ -16,10 +26,10 @@ Module(Cobalt.Formatter, 'Token')({ separatorType = logObject._separatorType || this.separatorType; output = indent + Array(separatorLength - indentSize + 1).join(separatorType); } else { - output = indent + this.parseFormatString(logObject, opts.formatString); + output = indent + this.parseFormatString(logObject, this.formatString); } - if (opts.ansiColor) { + if (this.ansiColor) { output = this.colorize(logObject._level, output); } @@ -33,8 +43,13 @@ Module(Cobalt.Formatter, 'Token')({ } resultString = formatString.replace(this.replaceRule, function(match, paren){ + var date; + if (paren === "_timestamp" && this.isoDate) { + date = new Date(logObject[paren]); + return date.toISOString(); + } return logObject[paren] || "-"; - }); + }.bind(this)); return resultString; },