Spring Boot Gradle Logback 설정
Spring Boot / Gradle 기반에서 Logback 설정 입니다. 콘솔 로그와 파일 로그 기본 설정 방법으로 작성되었습니다.
# Gradle 설정
- Logback dependencies 추가
dependencies { implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4:1.16' }
# Logback 설정 디렉토리 및 파일 구성
- src
- main
- resources
- log
- console.xml
- file.xml
- logback-spring.xml
# Logback 로그 설정 파일 추가
- console.xml : 콘솔 로그 설정
<?xml version="1.0" encoding="UTF-8"?> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <charset>UTF-8</charset> <pattern>%d{yyyyMMdd HH:mm:ss.SSS} [%thread] %-3level %logger{5} - %msg %n</pattern> </encoder> </appender>
- 파일 로그 설정 XML 파일 추가
<?xml version="1.0" encoding="UTF-8"?> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${LOG_FILE}/stc_api_server_log.%d{yyyy-MM-dd}-%i.log</fileNamePattern> <maxHistory>30</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>100MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder> <charset>UTF-8</charset> <pattern>%d{yyyy:MM:dd HH:mm:ss.SSS} %-5level --- [%thread] %logger{35} : %msg %n</pattern> </encoder> </appender>
- Spring Boot Logback 설정 XML 추가
<?xml version="1.0" encoding="UTF-8"?> <configuration> <logger name="jdbc.sqlonly" level="off" /> <logger name="jdbc.sqltiming" level="info" /> <logger name="jdbc.audit" level="off" /> <logger name="jdbc.resultset" level="off" /> <logger name="jdbc.resultsettable" level="off" /> <logger name="jdbc.connection" level="off" /> <springProfile name="local"> <include resource="log/console.xml" /> <root level="info"> <appender-ref ref="CONSOLE"/> </root> </springProfile> <springProfile name="local-live"> <include resource="log/console.xml" /> <root level="info"> <appender-ref ref="CONSOLE"/> </root> </springProfile> <springProfile name="real"> <include resource="log/file.xml" /> <root level="info"> <appender-ref ref="FILE"/> </root> </springProfile> </configuration>
# Loagback 설정 application.yaml 추가
- com.project.package : 프로젝트 기본 패키지로 설정
logging: file: /usr/local/logs level: com.project.package: info
2019. 08. 01