| /* |
| 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; |
| } |
| }}); |
| } |
| |