spring

[spring]log에 대한 모든 것_로그 설정 파일(.xml)

seulhasony 2023. 8. 17. 14:40

로그의 단계

1. DEBUG

2. INFO

3. WARN

4. ERROR

 

DEBUG < INFO < WARN < ERROR

 

 

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
    <property name="LOG_DIR" value="./"/>
    <property name="LOG_FILE_NAME" value="log"/>
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <!--날짜. 로그레벨. 어디서 발생한 로그인지 패턴을 지정-->
            <pattern>%highlight(%-5level) %d{yyyy-MM-dd HH:mm:ss} %magenta(%-4relative) --- [ %thread{10} ] %cyan(%logger{20}) : %msg%n </pattern>
        </encoder>
    </appender>
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_DIR}/${LOG_FILE_NAME}.log</file>
        <!--로그 파일이 롤링 되는 형식 지정/ 10mb가 넘어가면 새로운 파일 생성-->
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>${LOG_DIR}/${LOG_FILE_NAME}-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
            <maxFileSize>10MB</maxFileSize>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%d{HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
    <!--패키지별 INFO 이상의 레벨부터 로그에 남김-->
    <logger name="org.springframework" level="info"/>
    <logger name="org.hibernate" level="info"/>
    <root level="info">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE"/>
    </root>

</configuration>

 

+) pattern 태그에서 %highlight(%-5level) 를 사용하면 로그가 얼마나 예뻐지게요~ 

(단계별로 색깔이 달라집니다!)