
자바로 코딩을 할때 반복적으로 또는 기계적으로 작업을 해야 하는 몇몇 경우가 있다. 예를들면 model 클래스를 작성할때 멤버변수를 정의하고 그에 따른 getter, setter 등을 만든다거나 로그를 사용할 클래스에서 매번 로그를 정의해 줘야 하는 이런 반복적인 일들. 이런 불편함을 조금이나마 해소해주는 녀석이 있다. 바로 lombok 이라는 녀석이다. lombok의 여러가지 기능이 있지만 지금은 lombok을 사용하여 매번 로그 객체를 만들던 수고를 덜어보는걸 해보도록 하겠다. 우리가 일반적으로 로그를 찍기 위해서 했던 행동들을 일단 보자. private static final Logger LOG = LoggerFactory.getLogger(Sample.class); slf4j를 통해 로깅을 하는데..

프로젝트를 하다 보면 LogFactory 관련 오류가 나는 경우가 있다. 말그대로 LogFactory 클래스를 찾지 못해서 발생하는 exception이다. 이유는 다 exclusion 만 시켰지 '연결'을 시켜주지 않아서이다. org.springframework spring-core commons-logging commons-logging ${org.springframework.version} 보통 이런 식으로 slf4j로 logging을 하기 위해 commons-logging을 exclusion을 시킨다. 그리고 slf4j, 구현체 logging framework를 dependency에 추가를 하고 다음을 추가해줘야 한다. org.slf4j jcl-over-slf4j ${slf4j.version} jc..
logback에 spring profile을 왜 적용하는가? 이유는 간단하다. 하나의 파일만 만들기 위해서다. spring profile을 적용하지 않는다면 logback.xml 하나만 있어도 될걸 logback-dev.xml, logback-prd.xml 등등 각 PHASE에 맞는 파일들을 생성한 뒤 배포를 하고 파일을 덮어 씌우는 형식으로 하거나, 아니면 직접 서버에 들어가서 경로를 수정하거나 하는 번거로움이 있다. 비단 logback 뿐만 아니라 spring profile은 여러모로 배포하는 입장에서는 무척 유용하다. springboot 를 사용한다면 이와 결합하여 간단하게 spring profile을 적용할 수 있겠지만 springboot를 사용하지 않는 프로젝트라면 logback에 spring ..