Subversion Repositories Applications.papyrus

Rev

Rev 1318 | Blame | Compare with Previous | Last modification | View Log | RSS feed

/*
        Copyright (c) 2004-2006, The Dojo Foundation
        All Rights Reserved.

        Licensed under the Academic Free License version 2.1 or above OR the
        modified BSD license. For more information on Dojo licensing, see:

                http://dojotoolkit.org/community/licensing.shtml
*/



dojo.provide("dojo.logging.ConsoleLogger");
dojo.require("dojo.logging.Logger");
dojo.lang.extend(dojo.logging.MemoryLogHandler, {debug:function () {
        dojo.hostenv.println.apply(this, arguments);
}, info:function () {
        dojo.hostenv.println.apply(this, arguments);
}, warn:function () {
        dojo.hostenv.println.apply(this, arguments);
}, error:function () {
        dojo.hostenv.println.apply(this, arguments);
}, critical:function () {
        dojo.hostenv.println.apply(this, arguments);
}, emit:function (record) {
        if (!djConfig.isDebug) {
                return;
        }
        var funcName = null;
        switch (record.level) {
          case 1:
                funcName = "debug";
                break;
          case 2:
                funcName = "info";
                break;
          case 3:
                funcName = "warn";
                break;
          case 4:
                funcName = "error";
                break;
          case 5:
                funcName = "critical";
                break;
          default:
                funcName = "debug";
        }
        var logStr = String(dojo.log.getLevelName(record.level) + ": " + record.time.toLocaleTimeString()) + ": " + record.message;
        if (record.msgArgs && record.msgArgs.length > 0) {
                this[funcName].call(this, logStr, record.msgArgs);
        } else {
                this[funcName].call(this, logStr);
        }
        this.data.push(record);
        if (this.numRecords != -1) {
                while (this.data.length > this.numRecords) {
                        this.data.shift();
                }
        }
}});
if (!dj_undef("console") && !dj_undef("info", console)) {
        dojo.lang.extend(dojo.logging.MemoryLogHandler, {debug:function () {
                console.debug.apply(this, arguments);
        }, info:function () {
                console.info.apply(this, arguments);
        }, warn:function () {
                console.warn.apply(this, arguments);
        }, error:function () {
                console.error.apply(this, arguments);
        }, critical:function () {
                console.error.apply(this, arguments);
        }});
        dojo.lang.extend(dojo.logging.Logger, {exception:function (msg, e, squelch) {
                var args = [msg];
                if (e) {
                        msg += " : " + e.name + " " + (e.description || e.message);
                        args.push(e);
                }
                this.logType("ERROR", args);
                if (!squelch) {
                        throw e;
                }
        }});
}