Spring이나 일반 java 프로그램의 경우 logback.xml 파일을 resources 디렉터리에 만들어서 참조하지만 Spring Boot의 경우에는 아래 3가지 중 한 가지 방법을 선택합니다.
- application.properties에 설정
- resources/logback-spring.xml에 설정
- resources/logback.xml에 설정
//logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!--로그 파일 저장 위치-->
<property name="LOGS_PATH" value="d:/logs/PROJECT_NAME"/>
<!-- Console Appender -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<charset>UTF-8</charset>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] [%logger{36}:%line] - %msg%n</pattern>
</encoder>
</appender>
<!-- Rolling File Appender -->
<appender name="DAILY_ROLLING_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 파일 경로 -->
<file>${LOGS_PATH}/PROJECT_NAME.log</file>
<!-- 출력패턴 -->
<encoder>
<charset>UTF-8</charset>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] [%logger{36}:%line] - %msg%n</pattern>
</encoder>
<!-- Rolling 정책 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- .gz,.zip 등을 넣으면 자동으로 일자별 로그파일 압축 -->
<fileNamePattern>${LOGS_PATH}/%d{yyyy,aux}/%d{MM,aux}/atum-studio_%d{yyyy-MM-dd-HH}.log.gz</fileNamePattern>
<!-- 일자별 로그파일 최대 보관주기(일단위) 만약 해당 설정일 이상된 파일은 자동으로 제거-->
<maxHistory>365</maxHistory>
</rollingPolicy>
</appender>
<logger name="com.become.atum.webportal" level="DEBUG">
<appender-ref ref="DAILY_ROLLING_FILE" />
</logger>
<root level="INFO">
<appender-ref ref="CONSOLE" />
<appender-ref ref="DAILY_ROLLING_FILE" />
</root>
</configuration>
*이름 안겹쳐야 로그쌓임
SQL 로그
프로젝트에 로그백(Logback)을 적용하고,
XML Mapper에 선언된 SQL 쿼리 문이 실행되었을 때
해당 쿼리의 로그를 콘솔에 출력
https://congsong.tistory.com/23
'Backend > spring' 카테고리의 다른 글
spring boot 개발환경 설정(spring initializr) (0) | 2023.08.18 |
---|---|
[spring] @RequestParam @RequestBody 차이점 (0) | 2023.05.25 |
spring bean 주입 방법 (0) | 2023.05.10 |
@RequestMapping @PostMapping @GetMapping 차이 (0) | 2022.10.09 |
Spring 구조 / 구성요소 (0) | 2021.10.04 |