일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- development
- 개발자
- 노드
- 영화리뷰
- 드릴
- 주짓수
- 영화감상
- 엄티로드
- 프로그래밍
- web
- 클로즈가드
- Node
- REACT
- 주짓떼라
- 개발
- 솔로드릴
- git
- 디자인패턴
- nodejs
- Redux
- 영화
- 자바스크립트
- 하프가드
- 리액트
- 웹개발
- 주짓떼로
- JavaScript
- Express
- 파이썬
- graphQL
- Today
- Total
As i wish
web에서 log 없애기 본문
오늘은 아주 간단 하지만 꼭 필요한 log없애기를 해볼께요.
웹개발을 하다보면 디버깅을 위해 어쩔 수 없이 console.log(블라블라) 를 써야할 상황이 오게 됩니다.
사실 log가 없으면 어디서 버그가 생기는지 찾기도 힘들고 제대로 내 코드가 돌아가는지도 확인하기 힘이 듭니다.
그래서 웹은 배포를 하더라도 일반인들도 충분히 내 log를 볼수있게 되고 쉽게 코드가 까지게 됩니다. (오른쪽 버튼을 누른 뒤 검사를 누르면 다보여요~)
그것을 그나마 방지하기 위해 minimize도 하고 log를 숨기는데요 오늘은 log를 숨기는 법을 알아보겠습니다.
{{밑에 사진에서 저는 현재 3개의 서버를 돌려요 LOCAL은 제 컴퓨터에서만 돌려보는 용이고 DEV는 DEVELOP 모드 PUBLIC은 배포됬을 때인데요 DEV는 PUBLIC되기 전에 테스트라고 보면 이해가 쉽죠.}}
{{노란 박스를 보면 $locationProvider 부분이 있는데 이부분은 log와 상관이 없으니 Angular 공식문서를 참고해 주세요 (https://docs.angularjs.org/api/ng/provider/$locationProvider)}}
하늘색 박스에 $logProvider.debugEnabled(!window.PUBLIC); 이라고 적힌
부분보면 window.PUBLIC이 false일때만 debugEnabled가 된다고 보면 됩니다.
--> 즉, 배포시에는 window.LOCAL = false, window.DEV = false, window.PUBLIC = true가 되면서 $logProvider.debugEnabled가 false되게 되죠.
초록색 박스에 if 문에서 debugEnabled가 아닐 때(즉, false)에 밑에 있는 for 문이 돌게 됩니다. 그럼 console.log, console.debug, console.warn, console.info 같은 함수들이 function(){}; 으로 치환이 되죠.
결론! 그래서 우리가 아무리 console.log() 함수를 불러도 console.log() 함수가 function(){};으로 변환 되어 있기 때문에 아무일도 일어나지 않게 되는겁니다.
아주 간단해요 여러분도 적용 시켜서 꼭 배포 하길 바라고 부탁드려요~
그럼 다음엔 뭘쓸지 또 생각해보고 포스팅 할께요 궁금한거 있으시면 메일이나 댓글 달아주시고 이런 포스팅 해도 좋겠다라고 달아주시면 감사할 듯 합니다. 그럼 이만~
** 마지막으로 전체 코드에요**
'Develope' 카테고리의 다른 글
EC2(ubuntu) 재부팅 시 pm2 자동 재시작 (0) | 2019.06.21 |
---|---|
EC2 (Ubuntu)에서 node js 설치 및 업그레이드! (0) | 2019.05.27 |
리눅스 남은 용량 확인하기 (0) | 2019.01.17 |
Node js 로 간단한 서버 만들기 (express 사용) (0) | 2018.11.26 |
Mac 에서 ip주소 확인 (0) | 2018.11.01 |