본문 바로가기
슬기로운 자바 개발자 생활/스프링 및 자바웹 서비스

slf4j 설정.

by 슬기로운 동네 형 2022. 6. 21.
반응형

평범한 자바프로젝트. 공부용 설정. 인텔리J

1. 메이븐 설정

2. pom.xml

<dependencies>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.25</version>
    </dependency>

    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.2.3</version>
    </dependency>

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>1.7.25</version>
    </dependency>
</dependencies>

3. resource 폴더에 lgback.xml 작성

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <Pattern>%d{HH:mm} %-5level %logger{36} - %msg%n</Pattern>
        </encoder>
    </appender>
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>./application_log/application.log</file>
        <encoder>
            <pattern>%d{yyyyMMdd HH:mm:ss.SSS} [%thread] %-5level [%logger{0}:%line] - %msg %n</pattern>
        </encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>./application_log/application_log.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>5mb</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <maxHistory>5</maxHistory>
            <!-- <maxFileSize>1mb</maxFileSize>  kb, gb, mb 단위 -->
            <!-- <maxHistory>5</maxHistory> 5일 지난 로그는 오래된 순서대로 지우는 것...  -->
        </rollingPolicy>
    </appender>

    <logger name="com" level="info"/>
    <logger name="com" level="debug"/>

    <root level="debug">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE" />
    </root>
</configuration>

4.코딩 해보기 . com 패키지 밑으로 debug 일때 Console 에 출력되고, ./application/application_log.log 파일에 로그 남기기 설정

 

 

 

./application/ 폴더에 로그 파일 생성

 

 

 

이런. 예제는 5mb로 설정 했지만.. 다시 2mb로 설정 바꿔서 실행.. 파일이 저렇게 생김!!

 

반응형

댓글