@emartech/faye-redis-sharded
Version:
Redis backend engine for Faye with support for sharding
48 lines (41 loc) • 1.11 kB
JavaScript
Faye.Logging = {
LOG_LEVELS: {
fatal: 4,
error: 3,
warn: 2,
info: 1,
debug: 0
},
writeLog: function(messageArgs, level) {
if (!Faye.logger) return;
var args = Array.prototype.slice.apply(messageArgs),
banner = '[Faye',
klass = this.className,
message = args.shift().replace(/\?/g, function() {
try {
return Faye.toJSON(args.shift());
} catch (e) {
return '[Object]';
}
});
for (var key in Faye) {
if (klass) continue;
if (typeof Faye[key] !== 'function') continue;
if (this instanceof Faye[key]) klass = key;
}
if (klass) banner += '.' + klass;
banner += '] ';
if (typeof Faye.logger[level] === 'function')
Faye.logger[level](banner + message);
else if (typeof Faye.logger === 'function')
Faye.logger(banner + message);
}
};
(function() {
for (var key in Faye.Logging.LOG_LEVELS)
(function(level) {
Faye.Logging[level] = function() {
this.writeLog(arguments, level);
};
})(key);
})();