rocksteady
Version:
Drink blazin' electric death, downtime! Fast, zero-downtime apps for production enviroments.
99 lines (93 loc) • 2.83 kB
JavaScript
// Generated by CoffeeScript 1.9.1
var fn, i, len, level, logger, ref;
exports.logger = logger = {
_pad: function(n) {
n = n + '';
if (n.length >= 2) {
return n;
} else {
return new Array(2 - n.length + 1).join('0') + n;
}
},
timestamp: function() {
var d, date, hour, min, month, sec, year;
d = new Date();
year = d.getUTCFullYear();
month = this._pad(d.getUTCMonth() + 1);
date = this._pad(d.getUTCDate());
hour = this._pad(d.getUTCHours());
min = this._pad(d.getUTCMinutes());
sec = this._pad(d.getUTCSeconds());
return year + "-" + month + "-" + date + " " + hour + ":" + min + ":" + sec;
},
log: function(level, message, metadata) {
var err, ref;
if (metadata == null) {
metadata = '';
}
if (level !== 'error') {
return console.log((this.timestamp()) + " [" + level + "] " + message, metadata);
}
if (message instanceof Error) {
ref = [message, message.name], err = ref[0], message = ref[1];
}
console.error((this.timestamp()) + " [" + level + "] " + message, metadata);
if (err != null) {
return require('postmortem').prettyPrint(err);
}
}
};
ref = ['info', 'debug', 'warn', 'error'];
fn = function(level) {
return logger[level] = function(message, metadata) {
return logger.log(level, message, metadata);
};
};
for (i = 0, len = ref.length; i < len; i++) {
level = ref[i];
fn(level);
}
exports.serialize = function(err) {
return {
message: err.message,
name: err.name,
stack: err.stack,
structuredStackTrace: err.structuredStackTrace
};
};
exports.deserialize = function(err) {
var fn1, frame, isNative, j, len1, line, message, method, name, path, stack, structuredStackTrace, type;
name = err.name, message = err.message, stack = err.stack, structuredStackTrace = err.structuredStackTrace;
fn1 = function(frame, path, line, isNative, name, type, method) {
frame.getFileName = function() {
return path;
};
frame.getLineNumber = function() {
return line;
};
frame.isNative = function() {
return isNative;
};
frame.getFunctionName = function() {
return name;
};
frame.getTypeName = function() {
return type;
};
return frame.getMethodName = function() {
return method;
};
};
for (j = 0, len1 = structuredStackTrace.length; j < len1; j++) {
frame = structuredStackTrace[j];
path = frame.path, line = frame.line, isNative = frame.isNative, name = frame.name, type = frame.type, method = frame.method;
fn1(frame, path, line, isNative, name, type, method);
}
err = new Error();
err.name = name;
err.message = message;
err.stack = stack;
err.structuredStackTrace = structuredStackTrace;
return err;
};
//# sourceMappingURL=utils.js.map