본문 바로가기
Spring

SpringBoot - LogBack 관련 개념 및 설정 방법 (1)

by devLog by Ronnie's 2022. 6. 19.

스프링부트를 이용한 프로젝트에서 컴파일을 돌리다보면 아주 친절하게 줄맞춤까지 되서 로그를 찍어주는 것을 봤을 것이다.

평소에는 당연하듯이 사용하였는데 좀 더 디테일하게 알아보고자 이 글을 정리한다.

 

SpringBoot - LogBack 관련 개념 및 설정 방법 (1)

 

SpringBoot - LogBack 관련 개념 및 설정 방법 (1)

 

스프링부트에서 log 관한 설정을 따로 하지 않았는데도 나오는 이유?


먼저 LogBack에 알아보기 전에 어떻게 우리가 따로 설정을 하지 않았는데도 로그가 찍히는지에 대해서 알아볼 필요가 있다.

스프링부트 프로젝트를 컴파일 돌려보면 아래와 같이 시간과 색상, 줄맞춤 등등 우리가 따로 설정하지 않았는데도 보기 좋게 콘솔창에 로그를 찍어주는 것을 봤을 것이다.

 

스프링부트는 기본적으로 spring-boot-starter에 logging에 구현체가 존재하므로 따로 설정을 안해도 log가 찍혀나오는 것이다.

 

확인 방법은 아래와 같이 터미널로 접속하여 해당 프로젝트로 이동 ./gradlew dependencies 명령어를 통해서 확인 가능하다.

 

 

다른 방법으로는 인텔리제이에서 제공하는 Gradle 창에 dependencies 통해 확인 가능하다.

 

 

SLF4J 란?


Simple Logging Facade for Java 라는 뜻으로 말 그대로 로깅을 간단하게 사용할 수 있도록 하는 Facade이며 로깅 라이브러들을 하나의 통일된 방식으로 사용할 수 있도록하는 방법이다.

구현체로 log4j를 사용하던 logback을 사용하던 구현체의 종류와 상관없이 로깅을 사용할 수 있도록 도와준다.

기본 구현체로는 logback을 사용한다

 

Logback 이란?


자바에서 로그 기록을 위한 오픈 소스 프레임워크이다.

SLF4J의 구현체이며 스프링부트에서는 기본 디폴트 로그 설정으로 사용된다. 그렇기 때문에 별도로 라이브러리를 추가하지 않아도 된다. (스프링부트가 아니라면 의존성추가 해줘야함)

기본적으로 logback을 사용 시 필요한 설정으로는 Logger, Appender, Encoder 3가지 설정을 해줘야한다.

 

참고로 이전에 많이 사용하였던 log4j(2015 개발 중단)보다 성능을 비교했을 때도 logback 훨씬 우월한 성능을 보여준다고 한다.

 

 

마치며


다음 시간에는 설정방법에 대해서 정리한다.

 

SpringBoot - LogBack 관련 개념 및 설정 방법 (2)

 

SpringBoot - LogBack 관련 개념 및 설정 방법 (2)

지난 시간에는 개념에 대해서 정리하였고 이번 시간에는 기본으로 제공되는 logback을 확장하여 사용하는 방법에 대해서 정리한다. SpringBoot - LogBack 관련 개념 및 설정 방법 (2) 설정 방법 먼저 가

sjparkk-dev1og.tistory.com

 

 

 

 

댓글