Merge branch 'master' of ssh://git.indexdata.com/home/git/pub/mkws
authorMike Taylor <mike@indexdata.com>
Thu, 20 Nov 2014 17:05:36 +0000 (17:05 +0000)
committerMike Taylor <mike@indexdata.com>
Thu, 20 Nov 2014 17:05:36 +0000 (17:05 +0000)
doc/mkws-manual.markdown
examples/htdocs/heikki-motd.html
examples/htdocs/language.html
examples/htdocs/mike.html
src/mkws-core.js

index d5332cb..1066f63 100644 (file)
@@ -882,8 +882,8 @@ limit                     facet,    string            Allows a partial search to
                           records,                    chapter of the Pazpar2 manual
                           results                     ](http://www.indexdata.com/pazpar2/doc/pazpar2_protocol.html)
 
-log_level                 _global_  int     1         Level of debugging output to emit. 0 = none, 1 = messages, 2 = messages with
-                                                      datestamps, 3 = messages with datestamps and stack-traces.
+log_level                 _global_  string  info      The lowest level of logging output to emit. Acceptable values are
+                                                      `trace`, `debug`, `info`, `warn`, `error` and `fatal`.
 
 maxrecs                   facet,    int               Limits the metasearching middleware to retrieving no more than the specified
                           facets,                     number of records from each target.
index 39554cf..ee0461e 100644 (file)
@@ -9,7 +9,6 @@
           //show_sort: false,
           //perpage_default: 10,
           //sort_default: "title:1",
-          //log_level: 1
       };
     </script>
     <script type="text/javascript" src="tools/htdocs/jquery-1.10.0.min.js"></script>
index 370429f..ebe555c 100644 (file)
@@ -9,7 +9,6 @@
     <script type="text/javascript">
        var mkws_config = {
                lang: "da",
-               log_level: 1,
                use_service_proxy: true,
                show_lang: true,
                sort_default: "relevance",
index 989eb12..b3c6d52 100644 (file)
@@ -4,6 +4,7 @@
     <title>MKWS demo</title>
     <script type="text/javascript">
       var mkws_config = {
+        log_level: 'info',
         sp_auth_credentials: "mkwstest/mkwstest"
       }
     </script>
index 5cd500d..3087120 100644 (file)
@@ -3,7 +3,7 @@
  *  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
@@ -17,8 +17,7 @@ window.mkws = {
   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: {},
@@ -91,26 +90,31 @@ if (typeof(mkws_jQuery) !== "undefined") {
   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]} );
-
-
-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);
-};
+mkws.logger.setOptions({ "appenders": [consoleAppender] });
 
 
+function _log(fn, string) { fn.call(mkws.logger, string); };
 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) };
@@ -157,10 +161,6 @@ mkws.promotionFunction = function(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,
@@ -660,4 +660,11 @@ mkws.info("Using window.name '" + window.name + "'");
     }
   });
 
+  // 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.$);