Files
kit/assets/logger/logger.js
T
2021-11-21 22:33:57 +03:00

63 lines
1.9 KiB
JavaScript

/** @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;
});