728x90
application.properties를 이용한 간단한 로깅 방법
#전체 로그 레벨 설정(기본:info)
logging.level.root = info
#com.inflearn,springmvc_basic의 패키지와 그 하위 로그 레벨 설정
#Level: trace -> debug -> info -> warn -> error 개발서버:debug 운영서버:info
logging.level.com.inflearn.springmvc_basic = debug
#test 로그 파일이 남을 경로
logging.file.name = C:/Users/My PC/test
logback-spring.xml를 이용한 로깅 방법
logback-spring.xml 파일은 resources에 존재해야한다.
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true">
<!-- 로그 파일이 저장될 경로 -->
<property name="LOG_PATH" value="C:/Users/My PC"/>
<!-- 로그 파일 이름 -->
<property name="LOG_FILE_NAME" value="testLog"/>
<!-- 로그 출력 패턴 -->
<property name="LOG_PATTERN" value="%highlight(%-5level) %d{yy-MM-dd HH:mm:ss} [%thread] [%logger{0}:%line] - %msg%n"/>
<!-- 로그 레벨 -->
<!--
1) ERROR : 오류 메시지 표시
2) WARN : 경고성 메시지 표시
3) INFO : 정보성 메시지 표시
4) DEBUG : 디버깅하기 위한 메시지 표시
5) TRACE : Debug보다 훨씬 상세한 메시지 표시
아래에서는 info로 설정하였는데, 이 경우엔 INFO 보다 위에 있는 DEBUG와 TRACE는 표시하지 않는다.
-->
<property name="LOG_LEVEL" value="info"/>
<!-- CONSOLE에 로그 출력 세팅 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>
${LOG_PATTERN}
</Pattern>
</layout>
</appender>
<!-- File에 로그 출력 세팅 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 파일 경로 설정 -->
<file>${LOG_PATH}/${LOG_FILE_NAME}.log</file>
<!-- 출력패턴 설정-->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>${LOG_PATTERN}</pattern>
</encoder>
<!-- Rolling 정책 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- .gz,.zip 등을 넣으면 자동 일자별 로그파일 압축 -->
<fileNamePattern>${LOG_PATH}/${LOG_FILE_NAME}.%d{yyyy-MM-dd}_%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- 파일당 최고 용량 kb, mb, gb -->
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!-- 일자별 로그파일 최대 보관주기(~일), 해당 설정일 이상된 파일은 자동으로 제거-->
<maxHistory>30</maxHistory>
<!--<MinIndex>1</MinIndex>
<MaxIndex>10</MaxIndex>-->
</rollingPolicy>
</appender>
<!-- 로그 전역 세팅 -->
<root level="${LOG_LEVEL}">
<!-- 위에 설정한 콘솔 설정 추가 -->
<appender-ref ref="CONSOLE"/>
<!-- 위에 설정한 파일 설정 추가 -->
<appender-ref ref="FILE"/>
</root>
</configuration>
Reference
https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.logging
Core Features
Spring Boot lets you externalize your configuration so that you can work with the same application code in different environments. You can use a variety of external configuration sources including Java properties files, YAML files, environment variables, a
docs.spring.io
728x90
'Spring' 카테고리의 다른 글
RedirectAttributes (0) | 2023.03.15 |
---|---|
PRG (0) | 2023.03.15 |
JWT,Annotation (0) | 2022.11.20 |
RestfulAPI (0) | 2022.11.16 |
Dispatcher Servlet의 동작 원리 (0) | 2022.10.29 |