Annotation of kupuMPIWG/common/kupuloggers.js, revision 1.1.1.1
1.1 dwinter 1: /*****************************************************************************
2: *
3: * Copyright (c) 2003-2005 Kupu Contributors. All rights reserved.
4: *
5: * This software is distributed under the terms of the Kupu
6: * License. See LICENSE.txt for license text. For a list of Kupu
7: * Contributors see CREDITS.txt.
8: *
9: *****************************************************************************/
10:
11: // $Id: kupuloggers.js 9879 2005-03-18 12:04:00Z yuppie $
12:
13:
14: //----------------------------------------------------------------------------
15: // Loggers
16: //
17: // Loggers are pretty simple classes, that should have 1 method, called
18: // 'log'. This is called with 2 arguments, the first one is the message to
19: // log and the second is the severity, which can be 0 or some other false
20: // value for debug messages, 1 for warnings and 2 for errors (the loggers
21: // are allowed to raise an exception if that happens).
22: //
23: //----------------------------------------------------------------------------
24:
25: function DebugLogger() {
26: /* Alert all messages */
27:
28: this.log = function(message, severity) {
29: /* log a message */
30: if (severity > 1) {
31: alert("Error: " + message);
32: } else if (severity == 1) {
33: alert("Warning: " + message);
34: } else {
35: alert("Log message: " + message);
36: }
37: };
38: }
39:
40: function PlainLogger(debugelid, maxlength) {
41: /* writes messages to a debug tool and throws errors */
42:
43: this.debugel = getFromSelector(debugelid);
44: this.maxlength = maxlength;
45:
46: this.log = function(message, severity) {
47: /* log a message */
48: if (severity > 1) {
49: throw message;
50: } else {
51: if (this.maxlength) {
52: if (this.debugel.childNodes.length > this.maxlength - 1) {
53: this.debugel.removeChild(this.debugel.childNodes[0]);
54: }
55: }
56: var now = new Date();
57: var time = now.getHours() + ':' + now.getMinutes() + ':' + now.getSeconds();
58:
59: var div = document.createElement('div');
60: var text = document.createTextNode(time + ' - ' + message);
61: div.appendChild(text);
62: this.debugel.appendChild(div);
63: }
64: };
65: }
66:
67: function DummyLogger() {
68: this.log = function(message, severity) {
69: if (severity > 1) {
70: throw message;
71: }
72: };
73: };
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>