home *** CD-ROM | disk | FTP | other *** search
/ Chip 2011 November / CHIP_2011_11.iso / Programy / Narzedzia / AIMP2 / aimp_2.61.583.exe / $TEMP / YandexPackSetup.msi / fil314A7EABE4FCB8815943DD77F477BC3D < prev    next >
Text File  |  2010-07-12  |  2KB  |  72 lines

  1. const EXPORTED_SYMBOLS = ["Logger"];
  2.  
  3. const Cc = Components.classes;
  4. const Ci = Components.interfaces;
  5. const Cr = Components.results;
  6. const Cu = Components.utils;
  7.  
  8. Cu.import("resource://gre/modules/XPCOMUtils.jsm");
  9.  
  10. const CONSOLE_SERVICE = Cc["@mozilla.org/consoleservice;1"].getService(Ci.nsIConsoleService);
  11.  
  12. var Logger = {
  13.   log: function Logger_log(message) {
  14.     let date = new Date();
  15.     let time = [date.getHours(), date.getMinutes(), date.getSeconds()].join(":") + "." + date.getMilliseconds();
  16.     
  17.     message = "[nsIYaSearch (" + time + ")]: " + message + "\n";
  18.     CONSOLE_SERVICE.logStringMessage(message);
  19.   },
  20.   
  21.   error: function Logger_fatal(string) {
  22.     this.log(string);
  23.   },
  24.   
  25.   warn: function Logger_warn(string) {
  26.     this.log(string);
  27.   },
  28.   
  29.   info: function Logger_info(string) {
  30.     this.log(string);
  31.   },
  32.   
  33.   config: function Logger_config(string) {
  34.     this.log(string);
  35.   },
  36.   
  37.   debug: function Logger_debug(string) {
  38.     this.log(string);
  39.   },
  40.   
  41.   trace: function Logger_trace(string) {
  42.     this.log(string);
  43.   },
  44.   
  45.   dump: function Logger_dump(aObject) {
  46.     let dumpTxt = ["Dump properties in Object\r\n==============================================="];
  47.     for (let prop in aObject)
  48.       try { dumpTxt.push(prop + " :: " + aObject[prop]); } catch(e) {}
  49.     
  50.     if (aObject instanceof Ci.nsIDOMEvent) {
  51.       dumpTxt.push("================= nsIDOMEvent targets ======================================");
  52.       ["target", "currentTarget", "originalTarget", "explicitOriginalTarget"].forEach(function(aType) {
  53.         dumpTxt.push(aType + " :: " + aObject[aType] + " :: " + (aObject[aType] ? aObject[aType].localName : null))
  54.       })
  55.     }
  56.     
  57.     this.log(dumpTxt.join("\r\n"));
  58.   },
  59.   
  60.   dumpif: function Logger_dumpif(aObject) {
  61.     let dumpTxt = ["Dump interfaces\r\n==============================================="];
  62.     for (let iface in Ci) {
  63.       try {
  64.         aObject.QueryInterface(Ci[iface])
  65.         dumpTxt.push(iface);
  66.       } catch(e) {}
  67.     }
  68.     
  69.     this.log(dumpTxt.join("\r\n"));
  70.     return aObject;
  71.   }
  72. }