내가 자주 사용하는 console log 찍는 방법을 공유하고자 한다.


console.log는 개발자모드에 스트링으로 찍히게 된다.


사용법은 아래와 같다.


console.log('스트링');
console.log('스트링');
console.log(숫자);
console.log(Object);
console.log(등등);


브라우저에 따라 다르게 표현된다.


그런데 문제는 ie8이하에서는 console이란 객체가 없기 때문에 에러가 난다.


방어 코드를 넣어야 한다.



if(typeof console == 'object'){
    console.log('스트링');
}


이렇게 말이다.


그런데, 저렇게 하려면 로그를 보기위해서 많은 코딩을 해야 한다. 여간 귀찮은 일이 아니다.


그래서 function으로 만든다.


function logs(s){
     if(typeof console == 'object'){
        console.log(s);
    }
}  


위 방법으로 하게 되면 단점이 어디서 로그를 찍었는지 알수가 없게 된다. 


어느 함수에서 호출했는지 알아야겠다. 매번 로그에 넣어주는 것은 불편하기 때문이다.


아래가 최종본이다.


내가 항상 사용하는 방법이다.


도움이 되었으면 한다.



function logs(l){
    if(typeof console == 'object'){
        var fctName=logs.caller&&logs.caller.name||'전역';
        
        if(l instanceof Object){
            console.log('['+fctName+']');
            console.log(l);
        }else{
            console.log('['+fctName+']'+l);
        }
    }
}


+ Recent posts