728x90
반응형
Logging 이란?
프로그램 개발 중 및 완료 후 발생할 수 있는 오류에 대해 디버깅하거나 운영 중인 프로그램 상태를 모니터링 하기 위해 필요한 정보(로그)를 기록하는 것
Logback 이란?
자바 오픈소스 로깅 프레임워크로
스프링 부트에 기본으로 설정되어 있어서 별도로 라이브러리를 추가하지 않아도 된다.
Logback 설정
1. Resource 에 logback-spring.xml 추가
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<include resource="org/springframework/boot/logging/logback/console-appender.xml" />
<!-- 변수 지정 -->
<property name="LOG_DIR" value="D:\\logs\\ssms\\" />
<property name="LOG_PATH_NAME" value="${LOG_DIR}/data.log" />
<!-- FILE Appender -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH_NAME}</file>
<!-- 일자별로 로그파일 적용하기 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH_NAME}.%d{yyyyMMdd}</fileNamePattern>
<maxHistory>60</maxHistory> <!-- 일자별 백업파일의 보관기간 -->
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%-5p] [%F]%M\(%L\) : %m%n</pattern>
</encoder>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(%-40.40logger{39}){cyan} %clr(%4L){magenta} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}</pattern>
</layout>
</appender>
<!-- TRACE > DEBUG > INFO > WARN > ERROR, 대소문자 구분 안함 -->
<!-- profile 을 읽어서 appender 을 설정할수 있다.(phase별 파일을 안만들어도 되는 좋은 기능) -->
<springProfile name="local">
<root level="INFO">
<appender-ref ref="FILE" />
<appender-ref ref="STDOUT" />
</root>
</springProfile>
<springProfile name="dev">
<root level="INFO">
<!--<appender-ref ref="FILE" />-->
<appender-ref ref="STDOUT" />
</root>
</springProfile>
<springProfile name="prod">
<root level="DEBUG">
<appender-ref ref="FILE" />
<appender-ref ref="STDOUT" />
</root>
</springProfile>
</configuration>
2. yml에 Log 레벨 설정
logging:
level:
root: INFO
org.springframework:
web: INFO
security: INFO
session: INFO
data: INFO
jdbc:
core:
JdbcTemplate: INFO
StatementCreatorUtils: TRACE
org.apache.tiles: DEBUG
참고:
728x90
반응형
'Web 개발 > Java, SpringBoot, JPA' 카테고리의 다른 글
[SpringBoot] JSP Thymeleaf 둘다 사용하기 (0) | 2021.08.21 |
---|---|
[VS Code] VS Code Java Debugger 오류 (0) | 2021.08.14 |
[MySQL] Spring Boot, MySQL 연동 (0) | 2021.08.02 |
[MySQL] MySQL 8.0 D드라이브에 설치 방법 (2) | 2021.07.31 |
[JPA] ConstraintViolationException (0) | 2021.07.26 |