롬복은 어노테이션 기반으로 코드를 자동 완성할 수 있는 기능을 제공하는 라이브러리이다.
롬복은 어노테이션을 통해 생성자, Getter, Setter, toString, … 등의 반복적인 메서드 작성을 줄일 수 있다.
build.gradle에 라이브러리 및 환경을 추가한 뒤, Gradle Project를 Reload 한다.
하지만 여기서,
위와 같은 오류가 발생하여 아래와 같이 라이브러리를 수정하였다.
dependencies {
...
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testCompileOnly 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
...
}
위와 같이 Reload Gradle Project 한다.
이후 IntelliJ IDE에서 다음과 같이 설정한다.
File → Settings → plugins에서 Lombok 설치 후 재시작(현재는 따로 설치를 안해도 적용이 된다)
File → Annotatin Processors 검색 → Enable annotation processing 체크 및 확인 후 재시작
기존의 클래스를 활용한 방법으로는
private static final Logger log = LoggerFactory.getLogger(Slf4jSample.class);
을 사용해 로그를 찍는 방법이 있다.
@Slf4j 어노테이션을 사용하는 방식에 대해서 봐보자.
@Slf4j
@RestController
public class TestController {
@GetMapping("test")
public String test(@RequestParam("name") String name){
log.info("---------- Log 테스트 ---------");
return "hello " + name;
}
}
동일하게 로그가 찍히며 특징이라면 자동으로 log 변수를 선언하여 준 것을 볼 수 있다.
어노테이션이 편한 모습을 확인할 수 있다.
그러나 여기서 @Slf4j 선언하여 사용할 경우 변수명이 log로 고정된다는 점이 있다.