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';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;ConsoleLogger.prototype.setDisplayLevel=function(level){Logger.prototype.setDisplayLevel.call(this,level);storage.set(STORAGE_NAMESPACE,level);};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();});