Your IP : 3.136.18.247


Current Path : /var/www/axolotl/data/www/perm.axolotls.ru/bitrix/js/im/lib/logger/src/
Upload File :
Current File : /var/www/axolotl/data/www/perm.axolotls.ru/bitrix/js/im/lib/logger/src/logger.js

/**
 * Bitrix Messenger
 * Logger class
 *
 * @package bitrix
 * @subpackage im
 * @copyright 2001-2019 Bitrix
 */

class Logger
{
	constructor()
	{
		this.enabled = null;
	}

	enable()
	{
		this.enabled = true;

		if (typeof window.localStorage !== 'undefined')
		{
			try
			{
				window.localStorage.setItem('bx-messenger-logger', 'enable');
			}
			catch(e) {}
		}

		return this.enabled;
	}

	disable()
	{
		this.enabled = false;

		if (typeof window.localStorage !== 'undefined')
		{
			try
			{
				window.localStorage.removeItem('bx-messenger-logger');
			}
			catch(e) {}
		}

		return this.enabled;
	}

	isEnabled()
	{
		if (typeof BX.VueDevTools !== 'undefined')
		{
			return true;
		}
		else if (this.enabled === null)
		{
			if (typeof window.localStorage !== 'undefined')
			{
				try
				{
					this.enabled = window.localStorage.getItem('bx-messenger-logger') === 'enable';
				}
				catch(e) {}
			}
		}

		return this.enabled === true;
	}

	log(...params)
	{
		if (this.isEnabled())
		{
			console.log(...params);
		}
	}

	info(...params)
	{
		if (this.isEnabled())
		{
			console.info(...params);
		}
	}

	warn(...params)
	{
		if (this.isEnabled())
		{
			console.warn(...params);
		}
	}

	error(...params)
	{
		console.error(...params);
	}

	trace(...params)
	{
		console.trace(...params);
	}
}

let logger = new Logger();

export {logger as Logger};