IDE/Spring Tool Suite

[STS] logback-spring.xml 설정

한희성 2018. 7. 21.
반응형

1. 로그란 정보를 남기기 위한 것. 개발 도중 또는 운영 시 발생되는 문제점에대해 원인을 찾기 위한 필수 요소


2. 환경 설정

가. sprign logback 을 적용시키기위해서는 먼저 프로파일을 지정해줘야한다.

나. http://jsonobject.tistory.com/220(참고해도좋다.)


3. Profile 설정 

가. Profile을 설정하는 이유는 개발환경과 운영환경을 분리함으로써 테스트 환경 및 운영환경에 대한 효과적인 관리차원이다.

나. 설정 방법은 다음과 같다.

1) 윈도우 : 시작 > 설정 > 제어판 > 시스템 > 고급 시스템 설정 > 환경변수 > 시스템 변수 > 새로만들기 > SPRING_PROFILES_ACTIVE > dev

2) 

3) dev, test 를 설정하였다면 앞서 이미 적용된 값은 무시되고 새로 test 있는 값들만 적용된다.

(가)  application-dev.properties, application-test.properties

 

4. logback-spring.xml


<?xml version="1.0" encoding="UTF-8"?>

<configuration>

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

<springProfile name="prod">

<property name="LOG_PATH"

value="${file.separator}u00${file.separator}tomcat_logs${file.separator}[projectName]${file.separator}" />

</springProfile>

<springProfile name="dev">

<property name="LOG_PATH"

value="D:${file.separator}${file.separator}spring_log${file.separator}[projectName]${file.separator}" />

</springProfile>


        <!-- 콘솔 로그 출력 -->

<springProfile name="dev">

<appender name="TEXT_CONSOLE" class="ch.qos.logback.core.ConsoleAppender">

<encoder>

<charset>UTF-8</charset>

<Pattern>%d %-4relative [%thread] %-5level %logger{35} - %msg%n

</Pattern>

</encoder>

</appender>

</springProfile>


<!-- Logstash TEXT 형식으로 파일 로그 생성 -->

<!-- {각저장소}/log.txt 파일에 최신 로그 생성 -->

<!-- 5MB 초과, 날짜 변경 시점마다 생성, 생성된지 3일 이상된 파일은 삭제 -->

<springProfile name="dev">

<appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">

<encoder>

<pattern>%d %-4relative [%thread] %-5level %logger{35} - %msg%n

</pattern>

</encoder>

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

<FileNamePattern>${LOG_PATH}/DEBUG/log_%d{yyyy-MM-dd}.%i.txt

</FileNamePattern>

<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">

<maxFileSize>5MB</maxFileSize>

</timeBasedFileNamingAndTriggeringPolicy>

</rollingPolicy>

</appender>

</springProfile>




<springProfile name="dev">

<root level="INFO">

<appender-ref ref="TEXT_CONSOLE" />

</root>

</springProfile>


<springProfile name="prod">

<root level="INFO">

<appender-ref ref="DEBUG_FILE" />

</root>

</springProfile>

</configuration>


가. 운영과 개발환경의 옵션을 나눠 놓은 소스이다. 

1) prod, dev


5. logback level 단계

가. TRACE > DEBUG > INFO > WARN > ERROR

나. 각각의 레벨을 트리구조로 상위에서 하위를 포함하는 구조를 가지고있다.

다. 내가 공부하지 못한 부분의 대한 자세한 설명은 아래를 참고할수있다.

1) https://logback.qos.ch/manual/layouts.html

2) https://sonegy.wordpress.com/category/logback/

 

반응형

댓글

💲 추천 글