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