logback
Logging
개발 중이나 완료 후에 발생할 수 있는 오류를 대비하기 위해 디버깅하거나 운영 중인 에플리케이션을 모니터링 하기 위해 필요한 정보를 기록하는 것. 그 정보를 로그라고 한다.
애플리케이션 실행에 대한 추적을 기록하기 위한 일종의 메시지이다.
Java Logging Framework
- native java.util.logging
- Log4J
- Logback
- SLF4J(Simple Logging Facade for Java)
- tinylog
logback
-
Maven dependency
<dependency> <groupId>net.rakugakibox.spring.boot</groupId> <artifactId>logback-access-spring-boot-starter</artifactId> <version>2.7.1</version> <scope>runtime</scope> </dependency> <dependencies> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.7</version> </dependency> </dependencies>
*위치는 src/main/resources/ 아래
-
설정항목
-
Level
- TRACE - DEBUG - INFO - WARN - ERROR 순으로 높은 레벨이다. 출력 레벨 이상의 로그만 출력한다.
-
Appender
이벤트마다 로그를 기록하는 기능을 처리하는 객체. 로그의 출력 위치와 출력 형식 등을 설정한다. 기본 Appender는 아래와 같다.
- ConsoleAppender: 콘솔에 로그 출력
- FileAppender: 지정 파일에 로그 기록
- RollingFileAppender: FileAppender을 상속받는다. 구체적인 환경 및 패턴으로 기록 가능
-
Logger
로그 기능을 수행하는 객체. 각 Logger마다 name을 통해 구분한다.
-
-
설정
-
application.properties
spring.profiles.active=local logging.config=classpath:logback-${spring.profiles.active}.xml
-
logback-local.xml(로컬환경)
<?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="30 seconds"> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}[%-5level] : %msg%n</pattern> </encoder> </appender> <root level="debug"> <appender-ref ref="STDOUT"/> </root> </configuration>
-