프로그램 개발 중이나, 완료 후 운영 중인 프로그램 상태를 모니터링하기 위해 필요한 정보를 기록하는 것.
java 프로그래밍 개발 시 로그를 찍기 위해 System.out.println()메서드를 이용하는 경우가 많습니다.
편하고, 확인하기 좋은 방법이지만 성능에 영향을 줄 뿐만 아니라, 만약 운영 서버에서 println을 사용한다면
볼수도 없는 println을 운영 서버에서 고스란히 처리하게 되어 매우 문제가 됩니다.
이를 해결하기 위해서 java에서는 여러 logging Framework를 제공해줍니다.
기존의 로거들은 출력을 위해서 문자열을 더해 전달해 줘야만 했습니다만,
그 중 slf4j는 로그를 출력하지 않을 경우 필요 없는 문자열 더하기 연산이 발생하지 않고 일관된 로깅 코드를 작성할 수 있습니다.
Lombok의 @Slf4j를 달아주면 log 필드가 생기고, 편하게 logger를 불러서 로깅할 수 있습니다.
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
이후 로그를 남기고 싶은 코드에 아래와 같이 써서 사용하면 됩니다.
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class tmp {
private static final Logger logger = LoggerFactory.getLogger(RecruitController.class);
public int tmpMethod() {
logger.info("Logging");
}
}