* See the file LICENSE for details
*/
-"use strict"; // HTML5: disable for log_level >= 2
+"use strict";
// Set up global mkws object. Contains truly global state such as SP
authenticating: false,
active: false,
logger: undefined,
- log_level: 1, // Will be overridden from mkws.config, but
- // initial value allows jQuery popup to use logging.
+ log_level: "info",
teams: {},
widgetType2function: {},
defaultTemplates: {},
mkws.$ = jQuery;
}
+// It's ridiculous that JSNLog doesn't provide this
+mkws.stringToLevel = function(s) {
+ if (s === 'trace') {
+ return JL.getTraceLevel();
+ } else if (s === 'debug') {
+ return JL.getDebugLevel();
+ } else if (s === 'info') {
+ return JL.getInfoLevel();
+ } else if (s === 'warn') {
+ return JL.getWarnLevel();
+ } else if (s === 'error') {
+ return JL.getErrorLevel();
+ } else if (s === 'fatal') {
+ return JL.getFatalLevel();
+ } else {
+ throw "bad log-level '" + s + "'";
+ }
+}
+
mkws.logger = JL('mkws');
var consoleAppender = JL.createConsoleAppender('consoleAppender');
-mkws.logger.setOptions({ "appenders": [consoleAppender]} );
+mkws.logger.setOptions({ "appenders": [consoleAppender] });
-function _log(fn, string) {
- if (!mkws.log_level)
- return;
-
- // you need to disable use strict at the top of the file!!!
- if (mkws.log_level >= 3) {
- // Works in Chrome; not sure about elsewhere
- console.trace();
- } else if (mkws.log_level >= 2) {
-
- }
- fn.call(mkws.logger, string);
+function _log() {
+ var argsAsARealArray = Array.prototype.slice.call(arguments);
+ var fn = argsAsARealArray.shift();
+ fn.apply(mkws.logger, argsAsARealArray);
};
-
-
-// ### transitional placeholder function until we have promoted all invocations
-mkws.log = function(x) { _log(mkws.logger.debug, "LEGACY LOG: " + x) };
-
mkws.trace = function(x) { _log(mkws.logger.trace, x) };
mkws.debug = function(x) { _log(mkws.logger.debug, x) };
mkws.info = function(x) { _log(mkws.logger.info, x) };
mkws.registerWidgetType = function(name, fn) {
if(mkws._old2new.hasOwnProperty(name)) {
- mkws.warn("Warning: registerWidgetType old widget name: " + name + " => " + mkws._old2new[name]);
+ mkws.warn("registerWidgetType old widget name: " + name + " => " + mkws._old2new[name]);
name = mkws._old2new[name];
}
mkws.setMkwsConfig = function(overrides) {
- // Set global log_level flag early so that _log() works
- var tmp = overrides.log_level;
- if (typeof(tmp) !== 'undefined') mkws.log_level = tmp;
-
var config_default = {
use_service_proxy: true,
pazpar2_url: undefined,
myTeam.addWidget(myWidget);
var newHTML = this.innerHTML;
if (newHTML !== oldHTML) {
- myTeam.log("widget " + type + " HTML changed: reparsing");
+ myTeam.info("widget " + type + " HTML changed: reparsing");
makeWidgetsWithin(level+1, $(this));
}
});
for (var tName in mkws.teams) {
var myTeam = mkws.teams[tName]
myTeam.makePz2();
- myTeam.log("made PZ2 object");
+ myTeam.info("made PZ2 object");
/*
myTeam.visitWidgets(function(t, w) {
mkws.debug(" has widget of type '" + t + "': " + w);
}
});
+ // Set global log_level flag early so that _log() works
+ if (typeof mkws_config !== 'undefined') {
+ var tmp = mkws_config.log_level;
+ if (typeof tmp !== 'undefined') {
+ mkws.logger.setOptions({ "level": mkws.stringToLevel(tmp) });
+ }
+ }
})(mkws.$);