/*
* Copyright © 2012, 2013 Pedro Agullo Soliveres.
*
* This file is part of Log4js-ext.
*
* Log4js-ext is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License.
*
* Commercial use is permitted to the extent that the code/component(s)
* do NOT become part of another Open Source or Commercially developed
* licensed development library or toolkit without explicit permission.
*
* Log4js-ext is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Log4js-ext. If not, see <http://www.gnu.org/licenses/>.
*
* This software uses the ExtJs library (http://extjs.com), which is
* distributed under the GPL v3 license (see http://extjs.com/license).
*/
(function() {
"use strict"; //$NON-NLS-1$
/**
* @private
*
* Provides debug support.
*/
Ext.define('Sm.log.util.Debug', { //$NON-NLS-1$
singleton : true,
ON : false,
abort : function(errorMsg) {
var msg = "ABORT"; //$NON-NLS-1$
if( errorMsg ) {
msg += ": " + errorMsg; //$NON-NLS-1$
}
/*global console:true */
console.log( msg );
/*global console:false */
// If we are in a debugging environment, cause the debugger to
// take control
/*jslint debug:true */
// debugger; // OK, YUI does not like this
/*jslint debug:false */
// When not in a debugging environment, we generate the kind of
// error that will be easiest to be catch: throwing an exception
// does not work that well in some environments
this.abortAndAttemptToAwakeDebuggerIfPresent();
},
abortWhenCalled: function(errorMsg) {
return function() {
Sm.log.util.Debug.abort(errorMsg);
};
}
});
}());