상세 컨텐츠

본문 제목

스프링(SPRING) - 개발자 콘솔에 표시되는 로그 제어하기

기타/Spring

by Victorywskim 2020. 3. 26. 14:44

본문

반응형

웹 개발을 하다보면 백단으로 부터 통신에는 문제가 없었는지, 값은 정상적으로 받아왔는지에 대한 여부를 확인해야 한다. 이 경우 console.log("로그 내용")을 통해 브라우저의 개발자 모드에서 값을 확인하게 되는데 문제는 운영 사이트에서도 log가 표기된다는 점이다.

 

이 경우 개발자 모드를 통해 민감할수도 있는 정보들이 외부에 노출되게 되는데 이를 방지하기 위해서 매번 콘솔을 적었다 지우기를 반복한다는 것은 매우 번거로운 일이다.

 

이를 해결하기 위해서 아래 소스코드를 헤더에 추가하면 운영단에서의 로그 노출을 방지 할 수 있다.

 

<script type="text/javascript">
        <!--
        var logger = function() {
            var oldConsoleLog = null;
            var pub = {};
            pub.enableLogger = function enableLogger() {
                if (oldConsoleLog == null)
                    return;
                window['console']['log'] = oldConsoleLog;
            };
            pub.disableLogger = function disableLogger() {
                oldConsoleLog = console.log;
                window['console']['log'] = function() {};
            };
            return pub;
        }();

        $(document).ready(
            function() {
                if(<%= request.getRequestURL().toString().contains("localhost") %>){
                    logger.enableLogger();
                }else{
                    logger.disableLogger();
                }
            }
        );
        //-->
    </script>

단 위 스크립트는 페이지 헤더 부분에 들어가야하고, 또한 제이쿼리가 필요하므로 Jquery가 호출되는 바로 아래에 두는 것을 권장하며, 만약에 Jquery를 호출하고 있지 않은 경우에 위 스크립트 위에 적어주길 바란다.

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

 

728x90
반응형