/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ var LogController = {}; //create the logger object LogController.counter = 0; //current log message number LogController.listeners = []; LogController.logLevel = { FATAL: 50, ERROR: 40, WARNING: 30, INFO: 20, DEBUG: 10 }; /* set minimum logging level */ LogController.logLevelAtLeast = function(minLevel) { if (typeof(minLevel) == 'string') { minLevel = LogController.logLevel[minLevel]; } return function (msg) { var msgLevel = msg.level; if (typeof(msgLevel) == 'string') { msgLevel = LogController.logLevel[msgLevel]; } return msgLevel >= minLevel; }; }; /* creates the log message with the given level and info */ LogController.createLogMessage = function(level, info) { var msg = {}; msg.num = LogController.counter; msg.level = level; msg.info = info; msg.timestamp = new Date(); return msg; }; /* helper method to return a sub-array */ LogController.extend = function (args, skip) { var ret = []; for (var i = skip; i