| Current Path : /home/rtorresani/www/vendor/magento/module-ui/view/base/web/js/lib/logger/ |
| Current File : //home/rtorresani/www/vendor/magento/module-ui/view/base/web/js/lib/logger/console-logger.js |
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
define([
'./logger',
'./entry-factory',
'./console-output-handler',
'./formatter',
'./message-pool',
'./levels-pool',
'Magento_Ui/js/lib/core/storage/local',
'underscore',
'./logger-utils'
], function (Logger, entryFactory, ConsoleHandler, Formatter, messagePoll, levelsPoll, storage, _, LoggerUtils) {
'use strict';
var STORAGE_NAMESPACE = 'CONSOLE_LOGGER';
/**
* Singleton Logger's sub-class instance of which is configured to display its
* messages to the console. It also provides the support of predefined messages
* and persists its display level.
*/
function ConsoleLogger() {
var formatter = new Formatter(),
consoleHandler = new ConsoleHandler(formatter),
savedLevel = storage.get(STORAGE_NAMESPACE),
utils = new LoggerUtils(this);
Logger.call(this, consoleHandler, entryFactory);
if (savedLevel) {
this.displayLevel_ = savedLevel;
}
this.utils = utils;
this.messages = messagePoll;
this.levels = levelsPoll.getLevels();
}
_.extend(ConsoleLogger, Logger);
ConsoleLogger.prototype = Object.create(Logger.prototype);
ConsoleLogger.prototype.constructor = ConsoleLogger;
/**
* Overrides parent method to save the provided display level.
*
* @override
*/
ConsoleLogger.prototype.setDisplayLevel = function (level) {
Logger.prototype.setDisplayLevel.call(this, level);
storage.set(STORAGE_NAMESPACE, level);
};
/**
* Adds the support of predefined messages.
*
* @protected
* @override
*/
ConsoleLogger.prototype.createEntry_ = function (message, level, data) {
var code;
if (messagePoll.hasMessage(message)) {
data = data || {};
code = message;
message = messagePoll.getMessage(code);
data.messageCode = code;
}
return Logger.prototype.createEntry_.call(this, message, level, data);
};
return new ConsoleLogger();
});