스프링 부트 로그 콘솔, 파일 추출

Web Development assistant·2024년 1월 31일
0

# spring

목록 보기
30/32

스프링 부트 logback 로그 설정, 참조 블로그_확인하려면 클릭

src/main/resources 경로에 logback-spring.xml 파일 생성
하단의 스크립트 복붙
로그 파일 저장 위치 : 해당 프로젝트 폴더의 log폴더

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
    <property name="FILE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %5level %logger - %msg%n" />
    <property name="CONSOLE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %clr(%5level) %cyan(%-40.40logger{39}) - %msg%n" />
    <!-- 로그 출력 패턴 1 : <Pattern>%(%d{yyyy-MM-dd HH:mm:ss.SSS}) %clr(%5level) %cyan(%logger) - %(%msg%n)</Pattern>-->
    <!-- 로그 출력 패턴 2 : <Pattern>%green(%d{yyyy-MM-dd HH:mm:ss.SSS}) %magenta([%thread]) %highlight(%5level) %cyan(%logger) - %(%msg%n)</Pattern>-->
    
    <!-- 로그 콘솔 출럭 환경설정 시작-->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
        </layout>
    </appender>
    <!-- 로그 콘솔 출럭 환경설정 끝-->
    
    <!-- 로그 파일저장 환경설정 시작 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>${FILE_LOG_PATTERN}</Pattern>
        </layout>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
	        <fileNamePattern>./log/%d{yyyy-MM-dd}.%i.log</fileNamePattern>	<!-- 프로젝트 내 ./log 폴더 에 저장-->
	        <maxFileSize>100MB</maxFileSize>
	        <maxHistory>30</maxHistory>
    </rollingPolicy>
    </appender>
    <!-- 로그 파일저장 환경설정 끝 -->
    
    <!-- 프로필 별 로그 관리 시작-->
    <springProfile name="local">
    	<logger name="ggmbook.host.web" level="DEBUG" />
        <root level="INFO">
            <appender-ref ref="CONSOLE" />
        </root>
    </springProfile>
    <springProfile name="dev|stg">
        <root level="INFO">
            <appender-ref ref="CONSOLE" />
            <appender-ref ref="FILE" />
        </root>
    </springProfile>
    <springProfile name="prod">
        <root level="ERROR">
            <appender-ref ref="CONSOLE" />
            <appender-ref ref="FILE" />
        </root>
    </springProfile>
    <!-- 프로필 별 로그 관리 끝-->

    <!-- 루트 레벨 설정 -->
    <logger name="ggmbook.host.web" level="DEBUG" />
    <root level="info">	<!-- 기타 라이브러리 로그 레벨 = info-->							
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE"/>
    </root>
</configuration>

0개의 댓글