Mercurial > nightly_tester_tools
comparison modules/Logging.jsm @ 0:dada0ac40a8f
initial import
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Tue, 02 Dec 2008 20:31:01 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:dada0ac40a8f |
---|---|
1 var EXPORTED_SYMBOLS = ["LOG", "WARN", "ERROR"]; | |
2 | |
3 const Cc = Components.classes; | |
4 const Ci = Components.interfaces; | |
5 const Cr = Components.results; | |
6 | |
7 var gLoggingEnabled = false; | |
8 | |
9 function logMessage(text, level) { | |
10 var caller = null; | |
11 try { | |
12 caller = Components.stack.caller.caller; | |
13 } | |
14 catch (e) { } | |
15 | |
16 var msg = Cc["@mozilla.org/scripterror;1"]. | |
17 createInstance(Ci.nsIScriptError); | |
18 if (caller) { | |
19 var filename = caller.filename; | |
20 var sourceLine = caller.sourceLine; | |
21 var lineNumber = caller.lineNumber; | |
22 } | |
23 else { | |
24 var filename = ""; | |
25 var sourceLine = ""; | |
26 var lineNumber = 0; | |
27 } | |
28 msg.init(text, filename, sourceLine, lineNumber, 0, | |
29 level, "XUL JavaScript"); | |
30 | |
31 var console = Cc["@mozilla.org/consoleservice;1"]. | |
32 getService(Ci.nsIConsoleService); | |
33 console.logMessage(msg); | |
34 } | |
35 | |
36 function ERROR(string) { | |
37 dump("NTT ERROR: " + string + "\n"); | |
38 logMessage("NTT: " + string, Ci.nsIScriptError.errorFlag); | |
39 } | |
40 | |
41 function WARN(string) { | |
42 dump("NTT WARN : " + string + "\n"); | |
43 logMessage("NTT: " + string, Ci.nsIScriptError.warningFlag); | |
44 } | |
45 | |
46 function LOG(string) { | |
47 if (gLoggingEnabled) { | |
48 dump("NTT LOG : " + string + "\n"); | |
49 | |
50 var caller = null; | |
51 try { | |
52 caller = Components.stack.caller; | |
53 } | |
54 catch (e) { } | |
55 | |
56 if (caller) | |
57 string += " (" + caller.filename + ":" + caller.lineNumber + ")"; | |
58 | |
59 var console = Cc["@mozilla.org/consoleservice;1"]. | |
60 getService(Ci.nsIConsoleService); | |
61 console.logStringMessage("NTT: " + string); | |
62 } | |
63 } | |
64 | |
65 var prefs = Cc["@mozilla.org/preferences-service;1"]. | |
66 getService(Ci.nsIPrefBranch); | |
67 try { | |
68 gLoggingEnabled = prefs.getBoolPref("nightly.logging"); | |
69 } | |
70 catch (e) { } |