[스마일게이트 서버캠프] 20200201 print보다는 logging

Dayeon myeong·2021년 1월 30일
0

합격하소서

목록 보기
6/7

logging이란?

프로그램 개발 중이나, 완료 후 운영 중인 프로그램 상태를 모니터링하기 위해 필요한 정보를 기록하는 것.

print보다는 logging

java 프로그래밍 개발 시 로그를 찍기 위해 System.out.println()메서드를 이용하는 경우가 많습니다.
편하고, 확인하기 좋은 방법이지만 성능에 영향을 줄 뿐만 아니라, 만약 운영 서버에서 println을 사용한다면
볼수도 없는 println을 운영 서버에서 고스란히 처리하게 되어 매우 문제가 됩니다.

이를 해결하기 위해서 java에서는 여러 logging Framework를 제공해줍니다.

기존의 로거들은 출력을 위해서 문자열을 더해 전달해 줘야만 했습니다만,
그 중 slf4j는 로그를 출력하지 않을 경우 필요 없는 문자열 더하기 연산이 발생하지 않고 일관된 로깅 코드를 작성할 수 있습니다.

lombok 을 이용한 slf4j

Lombok의 @Slf4j를 달아주면 log 필드가 생기고, 편하게 logger를 불러서 로깅할 수 있습니다.

pom.xml에 dependency 추가

        
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

이후 로그를 남기고 싶은 코드에 아래와 같이 써서 사용하면 됩니다.

log.info 를 통한 로깅

        
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");
          }
        
        }
profile
부족함을 당당히 마주하는 용기

0개의 댓글