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