반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 알고리즘
- algorithms
- JavaScript
- 자문형
- 자료구조
- 혁신금융서비스
- 큐
- BAEKJOON
- Python
- 백준
- 신한투자증권
- BFS
- dfs
- 스택
- RPA
- Ai
- 모던자바스크립트
- 파이썬
- 프로그래머스
- React #Web #프런트엔드
- JS
- Algorithm
- programmers
- frontend
- pyhton
- 자바스크립트
- 일임형
- 로보어드바이저
- SSAFY
- algoritms
Archives
- Today
- Total
Step by Step
Log의 종류 & 리팩토링(?) 본문
반응형
log.trace("trace log = {}", name);
log.debug("debug log = {}", name);
log.info("info log = {}", name);
log.warn("warn log = {}", name);
log.error("error log = {}", name);
1. error | Red | 사용자 요청을 처리하는 중 발생한 문제 |
2. warn | Yellow | 처리 가능한 문제이지만, 향후 시스템 에러의 원인이 될 수 있는 문제 |
3. info | Green | 로그인이나 상태 변경과 같은 정보성 메시지 |
4. debug | Green | 개발시 디버깅 목적으로 출력하는 메시지 |
5. trace | Green | debug 보다 좀 더 상세한 메세지 |
특정 로그 레벨을 지정하면 해당 로그 레벨의 상위 우선순위 로그가 모두 출력된다.
예를 들어 특정 로그 레벨을 info로 지정하면 info, warn, error 로그가 전부 출력된다.
즉 특정 로그 레벨이 info라면 아래와 같이 출력된다.
System.out.println()을 사용하지 않고 logging을 사용하는 이유
그렇다면 왜 굳이 println문으로 찍으면 편할 것을 굳이 logging을 이용할까요?
logging을 사용했을 때의 장점
- 스레드 정보, 클래스 이름 같은 부가 정보를 함께 볼 수 있고, 출력 모양을 조정할 수 있다.
- 로그 레벨에 따라 개발서버에서는 모든 로그를 출력하고, 운영서버에서는 출력하지 않는 등 로그를 상황에 맞게 조절할 수 있다.
- 시스템 아웃 콘솔에만 출력하는 것이 아니라, 파일이나 네트워크 등, 로그를 별도의 위치에 남길 수 있다.
- 특히 파일로 남길 때에는 일별, 특정 용량에 따라 로그를 분할하는 것도 가능하다.
- println을 썼을 때보다 내부 버퍼링, 멀티 스레드 등의 환경에서 훨씬 좋다
리팩토링 기법 3가지
1. 메소드 추출 extract method
- 조건문이 길 때
- 하나의 메소드가 2개 이상의 기능을 할 때
setName(), : name 이 null 일 때 홍길동을 넣고
2. 명명
3. 긍정문
반응형
'Spring' 카테고리의 다른 글
240516 (0) | 2024.05.17 |
---|---|
240513(@JsonNaming, @JsonProperty) (0) | 2024.05.13 |
240503(DAO, DTO) (1) | 2024.05.03 |
의존성 주입 및 Rest API (0) | 2024.05.02 |
Aunotation 키워드 (0) | 2024.04.30 |