Spring/Basic

Spring Boot 2 Logging 설정

갈색왜성 2018. 11. 6. 01:48
반응형

잡설

2년 만에 프로젝트 새로 만들어서 개발하려고 했더니... 환경 구성하는 것부터 버벅거리면서 한참을 헤맸다. 그 김에 작은 거 하나하나 좀 정리해가려 한다.

개발 환경

여기서 사용되는 예제는 다음 환경에서 작성되었다.

  • STS 3.9.0 (Eclipse Oxygen 4.7.0)
  • Spring Boot 2.1
  • JDK 1.8
  • Gradle

맛보기

Spring Boot 2.x 에서는 굉장히 쉽게 기본적인 Logging 환경을 구성할 수 있다. 일단 File - New Spring Stater Project 를 선택해서 Project Name, Group Name, Artifact 등을 정하고 Next를 누르면 Boot Version과 Dependencies를 선택하는 메뉴로 넘어가게 된다. 여기서 Core - Lombok을 선택한다. 프로젝트를 만든 후 build.gradle을 확인해보면 다음 Dependency를 확인할 수 있다.

...   
dependencies {
        compileOnly('org.projectlombok:lombok')
...
}     

그리고 만들어진 Project에서 Main 함수가 있는 Class @Slf4J를 넣어주고 바로 Log를 출력하게 Test 해보자.

package com.browndwarf.logtest;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

import lombok.extern.slf4j.Slf4j;

@SpringBootApplication
@Slf4j
public class LogtestApplication {

	public static void main(String[] args) {
		SpringApplication.run(LogtestApplication.class, args);
		log.info("----------------------------------");
		log.info("|             LOG TEST           |");
		log.info("----------------------------------");		
	}
}

그리고 실행하면 다음과 같은 로그를 확인할 수 있다.


  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.1.0.RELEASE)

2018-11-07 00:02:11.221  INFO 21388 --- [           main] c.browndwarf.logtest.LogtestApplication  : Starting LogtestApplication on DOHOON-NOTEPC with PID 21388 (D:\04_newSpring_Project\logtest\bin\main started by SEM in D:\04_newSpring_Project\logtest)
2018-11-07 00:02:11.225  INFO 21388 --- [           main] c.browndwarf.logtest.LogtestApplication  : No active profile set, falling back to default profiles: default
2018-11-07 00:02:11.911  INFO 21388 --- [           main] c.browndwarf.logtest.LogtestApplication  : Started LogtestApplication in 1.044 seconds (JVM running for 2.54)
2018-11-07 00:02:11.913  INFO 21388 --- [           main] c.browndwarf.logtest.LogtestApplication  : ----------------------------------
2018-11-07 00:02:11.913  INFO 21388 --- [           main] c.browndwarf.logtest.LogtestApplication  : |             LOG TEST           |
2018-11-07 00:02:11.913  INFO 21388 --- [           main] c.browndwarf.logtest.LogtestApplication  : ----------------------------------

Remark

굉장히 간단하게 설정할 수 있지만 의외로 실제 Coding 시에 log를 알 수 없는 syntax라고 하면서 Error를 출력하는 경우가 있다. 이 경우는 개발할 때 사용하는 IDE에 lombok 기능 설치가 안된 경우로 아래의 Blog를 참고해서 설치해주면 정상적으로 동작하게 된다.


참고로 윈도우즈에서는 lombok.jar를 더블클릭하면 설치가 되지만 Linux에서는 Java -jar로 실행해야 한다는 것도 알아두는 것이 좋다.



맺음말

다음 포스팅에는 Log 설정 방법, Log Library 설정하는 방법등을 추가로 정리하려 한다.