1 #ifndef _JDISP_LOGGING_BASICLOGGER_JS
\r
2 #define _JDISP_LOGGING_BASICLOGGER_JS
\r
4 OOP_CLASS(BasicLogger) = function(id, max, f)
\r
6 this.lines = new Array();
\r
8 this.setTargetId(id);
\r
11 this.maxLines = Number(max);
\r
20 OOP_FIELD(BasicLogger, maxLines) = 1024;
\r
21 OOP_FIELD(BasicLogger, maxLineLength) = 4096;
\r
22 OOP_FIELD(BasicLogger, digits) = 6;
\r
23 OOP_FIELD(BasicLogger, lines) = null;
\r
24 OOP_FIELD(BasicLogger, count) = 0;
\r
25 OOP_FIELD(BasicLogger, targetId) = null;
\r
26 OOP_FIELD(BasicLogger, targetNode) = null;
\r
27 OOP_FIELD(BasicLogger, nodeFetched) = false;
\r
28 OOP_FIELD(BasicLogger, enabled) = true;
\r
29 OOP_METHOD(BasicLogger, setEnabled) = function (f)
\r
35 OOP_METHOD(BasicLogger, setMaxLines) = function (n)
\r
37 if (IS_NUMBER(n) && 0 <= n) {
\r
42 OOP_METHOD(BasicLogger, setTargetId) = function (id)
\r
45 this.nodeFetched = false;
\r
49 OOP_METHOD(BasicLogger, append) = function (msg0)
\r
51 if (!this.enabled) return;
\r
52 var msg = String(msg0);
\r
53 msg = msg.slice(0, this.maxLineLength);
\r
55 var s = "[" + PROJECT_PREFIX.global.zeroPrefix(this.count, this.digits) + "] " +
\r
56 PROJECT_PREFIX.global.escapeHtml(msg) ;
\r
57 var lines = this.lines;
\r
58 var max = this.maxLines;
\r
60 while (lines.length > max) {
\r
66 OOP_METHOD(BasicLogger, update) = function ()
\r
68 if (!this.enabled) return;
\r
69 if (!this.nodeFetched) {
\r
70 this.nodeFetched = true;
\r
71 var n = PROJECT_PREFIX.domUtils.getNode(this.targetId);
\r
72 this.targetNode = n;
\r
74 var html = this.lines.join("<br />\r\n");
\r
75 PROJECT_PREFIX.domUtils.setHtml(this.targetNode, html);
\r
78 #endif /* _JDISP_LOGGING_BASICLOGGER_JS */
\r