Logback 설정 방법


실제 프로젝트


hds:
  log:
    path: ./logs/hds.log
<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
    <include resource="org/springframework/boot/logging/logback/console-appender.xml"/>

    <!-- 로그 경로 변수 선언 (application.yml 참조) -->
    <springProperty name="LOG_PATH_NAME" source="hds.log.path" defaultValue="hds.log"/>

    <!-- Rolling File Appender -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 파일 경로 -->
        <file>${LOG_PATH_NAME}</file>
        <!-- Rolling 정책 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 일자별 로그파일 압축 -->
            <fileNamePattern>${LOG_PATH_NAME}.%d{yyyyMMdd}</fileNamePattern>
            <!-- 일자별 로그파일 최대 보관주기(일단위) -->
            <maxHistory>60</maxHistory>
        </rollingPolicy>
        <!-- 출력 패턴 -->
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%-5p] [%F]%M\\(%L\\) : %m%n</pattern>
        </encoder>
    </appender>

    <logger name="org.hibernate.resource.jdbc.internal.ResourceRegistryStandardImpl" level="info" additivity="false">
        <appender-ref ref="FILE"/>
        <appender-ref ref="CONSOLE"/>
    </logger>
    <logger name="org.hibernate.SQL" level="trace" additivity="false">
        <appender-ref ref="FILE"/>
        <appender-ref ref="CONSOLE"/>
    </logger>
    <logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="trace" additivity="false">
        <appender-ref ref="FILE"/>
        <appender-ref ref="CONSOLE"/>
    </logger>

    <springProfile name="mh">
        <root level="info">
            <appender-ref ref="FILE"/>
            <appender-ref ref="CONSOLE"/>
        </root>
    </springProfile>

    <springProfile name="sj">
        <root level="info">
            <appender-ref ref="FILE"/>
            <appender-ref ref="CONSOLE"/>
        </root>
    </springProfile>

    <springProfile name="local">
        <root level="info">
            <appender-ref ref="FILE"/>
            <appender-ref ref="CONSOLE"/>
        </root>
    </springProfile>

    <springProfile name="dev">
        <root level="info">
            <appender-ref ref="FILE"/>
            <appender-ref ref="CONSOLE"/>
        </root>
    </springProfile>

    <springProfile name="Staging">
        <logger name="org.hibernate.resource.jdbc.internal.ResourceRegistryStandardImpl" level="info" additivity="false">
            <appender-ref ref="FILE"/>
            <appender-ref ref="CONSOLE"/>
        </logger>
        <logger name="org.hibernate.SQL" level="error" additivity="false">
            <appender-ref ref="FILE"/>
            <appender-ref ref="CONSOLE"/>
        </logger>
        <logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="error" additivity="false">
            <appender-ref ref="FILE"/>
            <appender-ref ref="CONSOLE"/>
        </logger>
        <root level="info">
            <appender-ref ref="FILE"/>
            <appender-ref ref="CONSOLE"/>
        </root>
    </springProfile>

    <springProfile name="Production">
        <logger name="org.hibernate.resource.jdbc.internal.ResourceRegistryStandardImpl" level="info" additivity="false">
            <appender-ref ref="FILE"/>
            <appender-ref ref="CONSOLE"/>
        </logger>
        <logger name="org.hibernate.SQL" level="error" additivity="false">
            <appender-ref ref="FILE"/>
            <appender-ref ref="CONSOLE"/>
        </logger>
        <logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="error" additivity="false">
            <appender-ref ref="FILE"/>
            <appender-ref ref="CONSOLE"/>
        </logger>
        <root level="info">
            <appender-ref ref="FILE"/>
            <appender-ref ref="CONSOLE"/>
        </root>
    </springProfile>

    <springProfile name="Hisproduction">
        <logger name="org.hibernate.resource.jdbc.internal.ResourceRegistryStandardImpl" level="info" additivity="false">
            <appender-ref ref="FILE"/>
            <appender-ref ref="CONSOLE"/>
        </logger>
        <logger name="org.hibernate.SQL" level="error" additivity="false">
            <appender-ref ref="FILE"/>
            <appender-ref ref="CONSOLE"/>
        </logger>
        <logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="error" additivity="false">
            <appender-ref ref="FILE"/>
            <appender-ref ref="CONSOLE"/>
        </logger>
        <root level="info">
            <appender-ref ref="FILE"/>
            <appender-ref ref="CONSOLE"/>
        </root>
    </springProfile>

</configuration>

출처


Springboot - Logback 설정 방법 !(logback-spring.xml)

[Spring Boot] Logback 설정 방법

Spring Boot Logback 설정