javascript 로그 보기 .
function test(){
var asdf = new Object();
logger.level("debug"); // 레벨 셋팅 방법 . debug , info , warn , error , fatal <-로그레벨 1~5로 셋팅해도됨.
logger.info(asdf.asdf);
logger.info("info");
logger.warn("warn");
logger.error("error");
logger.fatal("fatal");
//alert(loggerText.view("asdf"))
var a1 = new Array();
var a2 = new Object();
}
var logger={
JSON : this.JSON,
levNum : 2,
logLev : {debug : 1 , info : 2, warn : 3 , error : 4 , fatal :5},
level : function (lev){
if(!isNaN(lev)) this.levNum = lev;
else{
var tmpLev = eval("this.logLev."+lev);
if(!isNaN(tmpLev)){
this.levNum = tmpLev;
}
}
},
debug : function (logData){
if(this.levNum <= 1){ this.view(logData);
}
},
info : function (logData){
if(this.levNum <= 2) this.view(logData);
},
warn : function (logData){
if(this.levNum <= 3) this.view(logData);
},
error : function (logData){
if(this.levNum <= 4) this.view(logData);
},
fatal : function (logData){
if(this.levNum <= 5) this.view(logData);
},
view : function (logData){
if(typeof this.JSON==="undefined"){
return false;
}
var showArea = document.getElementById("showLogViewArea");
var appendLog = function (pObj , log){
if (pObj.insertAdjacentText != null) {
if(showArea !=null){
pObj.insertAdjacentText("BeforeEnd", log);
}else{
pObj.insertAdjacentHTML("BeforeEnd", log);
}
}else{
var df;
if(showArea ==null){
log= document.createTextNode(log);
}
var r = pObj.ownerDocument.createRange();
r.selectNodeContents(pObj);
r.collapse(false);
df = r.createContextualFragment(parsedText);
pObj.appendChild(df);
}
}
var getNowTime = function (){
var theTime = new Date();
if(isNaN(theTime)){
alert("Wrong Time format.\nPlease use this format:\n\tHH:MM:SS");
}else{
var HH = theTime.getHours();
var MM = theTime.getMinutes();
var SS = theTime.getSeconds();
if(HH<10) HH = "0"+HH;
if(MM<10) MM = "0"+MM;
if(SS<10) SS = "0"+SS;
}
return HH+":"+MM+":"+SS;
}
var getLogData = function (logData){
var jsonDataStr="";
try{
var tmpEnter = "\r\n";
if(typeof logData ==='object'){
if(JSON){
jsonDataStr = getNowTime() +" type : "+ (typeof logData)+" "+JSON.stringify(logData) +tmpEnter ;
}
}else {
jsonDataStr = getNowTime() +" type : "+ (typeof logData)+" "+logData+tmpEnter ;
}
}catch(e){
alert(e)
jsonDataStr = logData;
}
return jsonDataStr;
}
var tmpBody;
try{
tmpBody = document.getElementsByTagName("body")[0];
}catch(e){
alert(e);
return ;
}
if(showArea==null){
var logObj = "<textarea onblur='this.style.display=\"none\"' style="Z-INDEX: 100; BORDER-BOTTOM: #92d13a 2px solid; POSITION: absolute; BORDER-LEFT: #92d13a 2px solid; WIDTH: 300px; DISPLAY: inline; HEIGHT: 200px; BORDER-TOP: #92d13a 2px solid; TOP: 50px; BORDER-RIGHT: #92d13a 2px solid; LEFT: 0px" id="showLogViewArea" wrap="hard" type="text"></textarea>";
appendLog(tmpBody , logObj);
showArea = document.getElementById("showLogViewArea");
appendLog(showArea , getLogData(logData));
showArea.focus();
}else{
showArea.style.display = "inline";
appendLog(showArea ,getLogData(logData));
showArea.focus();
}
}
}