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 |
Tags
- 스프링
- 아스키코드
- 윤동주
- 항해
- 이행시
- 개발
- 문자열
- Spring
- Controller
- Service
- java
- replace()
- upc
- string
- 백엔드
- 삼행시
- CS
- 어노테이션
- yeouido
- StringBuilder
- StringBuffer
- repository
- 자바
- Annotation
- bit
- lombok
Archives
- Today
- Total
Dev.끄적끈적
[Java] @Slf4j Annotation 이 뭐길래 ? 본문
개발을 하거나 운영을 하는 상황에서 LOGGING 은 아주 중요하다..
Spring boot에서는 로그를 남기는 방법이 많이 있는데,
내가 개발 초기에 항상 썼던 로그는 역시나 System.out.println().. 하지만 이 sout는 기능성면에서 현저히 떨어진다.
그렇다면 로깅 중 가장 편하게 사용되는 @Slf4j 어노테이션을 알아보자.
@Slf4j
@ Slf4j 란?
Slf4j는 로깅에 대한 추상 레이어를 제공하는 인터페이스의 모음이다. (로깅 Facade)
장점은 추후에 필요로 의해 로깅 라이브러리를 변경할 때 코드의 변경 없이 가능하다는 점이다.
lombok 라이브러리를 추가해주면 사용 가능하다.! (플러그인이나 Gradle에 추가)
사용 방법
@Slf4j
@Controller
@RequiredArgsConstructor
@RequestMapping("/main")
public class MainController {
private final MainService mainService;
@GetMapping("/category/{catName}")
public ResponseEntity<List<MainCategoryResDto>> getCategoryMain(@PathVariable String catName){
log.info("controller catName: {}", catName);
return mainService.getCategoryMain(catName);
}
}
로깅이 필요한 부분에 log.info(" 로깅에 찍히는 내 문자들 내용: {}", 확인할 로그 내용); 형식으로 사용하면 된다.
그 외에,
log.trace
log.warn
log.info
log.debug
log.error 등이 있는데 순서대로 로깅 레벨이 많은 순이다. (trace > error)
즉, log.trace 를 쓰면 가장 디테일한 로그를 볼 수 있다.
감사합니다.