"use strict"; /** * @fileOverview The logging system for papyrus is based on [http://pimterry.github.io/loglevel/](loglevel) and slightly decorated * @module utils/logger * @requires dcl * @requires loglevel */ var dcl = require( "dcl" ); var log = require( 'loglevel' ); /** * A logger class that you can mix into your classes to handle logging settings and state at an object level. * See {@link utils/logger} for the members of this class * * @exports utils/logger.Logger * @class * @see utils/logger */ var Logger = dcl( null, /** @lends utils/logger.Logger# */{ declaredClass : "utils/Logger", /** * Turn off all logging. If you log something, it will not error, but will not do anything either * and the cycles are minimal. * */ silent : function () { log.disableAll(); }, /** * Turns on all logging levels * */ all : function () { log.enableAll(); }, /** * Sets the logging level to one of `trace`, `debug`, `info`, `warn`, `error`. * @param {string} lvl The level to set it to. Can be one of `trace`, `debug`, `info`, `warn`, `error`. * */ level : function ( lvl ) { if ( lvl.toLowerCase() === "none" ) { log.disableAll(); } else { log.setLevel( lvl ); } }, /** * Log a `trace` call * @method * @param {string} The value to log */ trace : log.trace, /** * Log a `debug` call * @method * @param {string} The value to log */ debug : log.debug, /** * Log a `info` call * @method * @param {string} The value to log */ info : log.info, /** * Log a `warn` call * @method * @param {string} The value to log */ warn : log.warn, /** * Log a `error` call * @method * @param {string} The value to log */ error : log.error } ); module.exports = new Logger(); /** * The system global, cross-platform logger * @name utils/logger * @static * @type {utils/logger.Logger} */ module.exports.Logger = Logger;