/** @module Logger */ __PluginManager__.register('Logger', function(module, exports, require, global){ var support = require('support'); var Collection = require('Collection'); /** * @class Logger * @memberOf kit */ var Logger = function() { this.collection = new Collection(); this.onLog = new Collection(); }; /** * @param collection {kit.Collection} */ Logger.prototype.setCollection = function (collection) { this.collection = collection; }; Logger.prototype.emergency = function (message, context) { this.log(0, message, context, 'emergency'); }; Logger.prototype.alert = function (message, context) { this.log(0, message, context, 'alert'); }; Logger.prototype.critical = function (message, context) { this.log(0, message, context, 'critical'); }; Logger.prototype.error = function (message, context) { this.log(0, message, context, 'error'); }; Logger.prototype.warning = function (message, context) { this.log(0, message, context, 'warning'); }; Logger.prototype.notice = function (message, context) { this.log(0, message, context, 'notice'); }; Logger.prototype.info = function (message, context) { this.log(0, message, context, 'info'); }; Logger.prototype.debug = function (message, context) { this.log(0, message, context, 'debug'); }; Logger.prototype.success = function (message, context) { this.log(0, message, context, 'success'); }; Logger.prototype.log = function (lvl = 0, message = '', context, type) { var data = { lvl: lvl, type: type, message: message, context: context, }; this.collection.push(data); this.onLog.eachCall(this, data); }; return module.exports = Logger; });