스프링 부트 강의 정리 (11~12 : Profile, Log)
2019. 4. 21. 02:45ㆍ[공부] 영상/스프링 부트 강의
profile으로 local 환경 dev 환경 분리하기
https://kok202.tistory.com/114?category=782902
@Profile을 이용하면 profile 값에 따라서 주입받을 클래스를 바꿀 수 있다.
public interface Parent {
public String getMessage();
}
@Component
@Profile("development")
public class ChildDev implements Parent{
@Override
public String getMessage(){
return "development!";
}
}
@Component
@Profile("local")
public class ChildDev implements Parent{
@Override
public String getMessage(){
return "local!";
}
}
@Autowired
private Parent child;
@Slf4j
스프링 부트를 개발할 때는 commons.logging을 사용하여 개발되어 있다. 실제 프로젝트를 개발할 때 로그 관련해서는 @Slf4j 를 쓰자. @Slf4j는 logback을 사용하여 로그를 출력하도록 되어있다. logback은 FATAL 레벨이 없고 ERROR 레벨이 존재한다.
스프링 부트에서 제공하는 기본 Logging configuration의 properties 파일 설정 (yml 치환은 생략)
spring.output.anis.enable=ALWAYS | logging 에 color를 입혀서 출력해준다. (지금은 default가 된 듯하다.) |
logging.file=mylog.txt | log 내용을 mylog.txt에 저장해라. |
logging.level.root= WARN | logging이 WARN인 것만 찍어라. |
logback-spring.xml를 이용하여 로깅 관련 설정을 Custom 하게 주거나 로깅해주는 클래스를 바꿀 수도 있다.
ex. 로그 파일을 관리하는 규칙에 맞춰서 저장해야하는 경우 쓸만하다.
ex. spring profile 에따라 로그 설정도 관리해줄수 있다. <springProfile> 태그를 사용하면된다.
ex. spring properties에 있는 값을 가져서 쓸 때는 <springProperties> 태그를 쓰면 된다.
'[공부] 영상 > 스프링 부트 강의' 카테고리의 다른 글
스프링 부트 강의 정리 (15 : WebJar) (0) | 2019.04.24 |
---|---|
스프링 부트 강의 정리 (13~14 : HttpMessageConverter, Static content) (0) | 2019.04.21 |
스프링 부트 강의 정리 (8~10 : Properties 읽어들이기) (0) | 2019.04.21 |
스프링 부트 강의 정리 (6~7 : SpringApplication) (0) | 2019.04.20 |
스프링 부트 강의 정리 (4~5 : Configuration, devtools) (0) | 2019.04.20 |