사실 System.out.println 하면 되지 않나라는 생각을 이전까지는 꽤 하고 있었다.
하지만 이번 강의를 듣고 log가 정말 필요하다는 걸 알게 되어서 따로 정리한다!
모든 로그 부분에 System.out.println을 대신 하게 되면 함수 실행시 무조건 콘솔에 나온다!
이건 엄청난 메모리 이슈와 시간 저하를 일으킬 수 있는 심각한 부분이다!
그래서 운영별로, 개발별로 각각 맞게 콘솔에 정보 나오게 해주는 로그를 사용해야한다!!
차고로 단계는 trace, debug, info, warning, error 가 있다!
기본 default는 info로 되어있다!
logging.level.hello.springmvc=info
이건 개발용 일주로 설정 해둔다!
logging.level.hello.springmvc=debug
만약 trace로 로그를 다 바꾸면 println한거처럼 로그 부분들 다 콘솔에 출력됨!!!
@Slf4j는 인터페이스이다!
private final Logger log =LoggerFactory.getLogger(getClass());
@RequestMapping("/log-test")
public String logTest(){
String name = "spring";
// 로그 레벨 선택
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); // 에러 확인!
}
자바 언어는 + 인 경우는 실제 계산을 안해도 미리 문자열로 붙여버림!! -> 메모리와 cpu 낭비!
그래서 {}를 사용해야한다!! -> 이건 실제 연산때만 파라미터로 인식해서 출력해줌!