본문 바로가기
프로그램/스프링

[PWA] 자바로 pwa push 알림 기능 개발하기(4)

by cbwstar 2021. 8. 2.
728x90
반응형

resource폴더 밑에 logback-local.properties 파일을 하나 생성한다. 로그파일이 저장되는 경로를 설정한다.

java
닫기
log.config.path=/logs/local /* 로그파일 저장경로 */ log.config.filename=local_log /* 로그파일 이름 */


resource 폴더에 logback-spring.xml 파일을 생성한다.
logback-local.properties 파일에 위의 내용을 입력한다.

아래의 내용을 붙여 넣는다.

java
닫기
<?xml version="1.0" encoding="UTF-8"?> <!-- 60초마다 설정 파일의 변경을 확인 하여 변경시 갱신 --> <configuration scan="true" scanPeriod="60 seconds"> <!--springProfile 태그를 사용하면 logback 설정파일에서 복수개의 프로파일을 설정할 수 있다.--> <springProfile name="local"> ​​​​​​​​<property resource="logback-local.properties"/> </springProfile> ​<springProfile name="dev"> ​​​​​​​​​<property resource="logback-dev.properties"/> ​</springProfile> ​<!--Environment 내의 프로퍼티들을 개별적으로 설정할 수도 있다.--> ​<springProperty scope="context" name="LOG_LEVEL" source="logging.level.root"/> ​<!-- log file path --> ​<property name="LOG_PATH" value="${log.config.path}"/> ​​<!-- log file name --> ​<property name="LOG_FILE_NAME" value="${log.config.filename}"/> ​<!-- err log file name --> ​<property name="ERR_LOG_FILE_NAME" value="err_log"/> ​​<!-- pattern --> ​<property name="LOG_PATTERN" value="%-5level %d{yy-MM-dd HH:mm:ss}[%thread] [%logger{0}:%line] - %msg%n"/> ​<!-- Console Appender --> ​<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> ​​​​​​​​​<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> ​​​​​​​​​​​​​​​​​<pattern>${LOG_PATTERN}</pattern> ​​​</encoder> ​</appender> ​<!-- File Appender --> ​<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> ​​​​​​​​​<!-- 파일경로 설정 --> ​​​​​​​​​<file>${LOG_PATH}/${LOG_FILE_NAME}.log</file> ​​​​​​​​​<!-- 출력패턴 설정--> ​​​​​​​​​<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> ​​​​​​​​​​​​​​​​​<pattern>${LOG_PATTERN}</pattern> ​​​​​​​​​</encoder> ​​​​​​​​​​<!-- Rolling 정책 --> ​​​​​​​​​ ​​​​​​​​​​<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> ​​​​​​​​​​​​​​​​​​​<!-- .gz,.zip 등을 넣으면 자동 일자별 로그파일 압축 --> ​​​​​​​​​​​<fileNamePattern>${LOG_PATH}/${LOG_FILE_NAME}.%d{yyyy-MM-dd}_%i.log</fileNamePattern> ​​​​​​​​​​​​​​​​​​​​<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> ​​​​​​​​​​<!-- 파일당 최고 용량 kb, mb, gb --> ​​​​​​​​​​<maxFileSize>10MB</maxFileSize> ​​​​​​​​​​</timeBasedFileNamingAndTriggeringPolicy> ​​​​​​​​​​<!-- 일자별 로그파일 최대 보관주기(~일), 해당 설정일 이상된 파일은 자동으로 제거--> ​​​​​​​​​​​<maxHistory>30</maxHistory> ​​​​​​​​​​​<!--<MinIndex>1</MinIndex> <MaxIndex>10</MaxIndex>--> ​​​​​​​​​​​</rollingPolicy> ​​​​​​​​​​​</appender> ​​​​​​​​​​​<!-- 에러의 경우 파일에 로그 처리 --> ​​​​​​​​​​​<appender name="Error" class="ch.qos.logback.core.rolling.RollingFileAppender"> ​​​​​​​​​​​​​​​​​​​<filter class="ch.qos.logback.classic.filter.LevelFilter"> ​​​​​​​​​​​​​​​​​​​​​​​​​​​​<level>error</level> ​​​​​​​​​​​​​​​​​​​​​​<onMatch>ACCEPT</onMatch> ​​​​​​​​​​​​​​​​​​​​​​<onMismatch>DENY</onMismatch> ​​​​​​​​​​​​​​​​​​</filter> ​​​​​​​​​​​​<file>${LOG_PATH}/${ERR_LOG_FILE_NAME}.log</file> ​​​​​​​​​​​​<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> ​​​​​​​​​​​​​​​​​​​​<pattern>${LOG_PATTERN}</pattern> ​​​​​​​​​​​​​</encoder> ​​​​​​​​​​​​​​<!-- Rolling 정책 --> ​​​​​​​​​​​​​​<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> ​​​​​​​​​​​​​​​<!-- .gz,.zip 등을 넣으면 자동 일자별 로그파일 압축 --> ​​​​​​​​​​​​​​​<fileNamePattern>${LOG_PATH}/${ERR_LOG_FILE_NAME}.%d{yyyy-MM-dd}_%i.log</fileNamePattern> ​​​​​​​​​​​​​​​​<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> ​​​​​​​​​​​​​​​​<!-- 파일당 최고 용량 kb, mb, gb --> ​​​​​​​​​​​​​​​​​<maxFileSize>10MB</maxFileSize> ​​​​​​​​​​​​​​​​​​</timeBasedFileNamingAndTriggeringPolicy> ​​​​​​​​​​​​​​​​​​​<!-- 일자별 로그파일 최대 보관주기(~일), 해당 설정일 이상된 파일은 자동으로 제거--> ​​​​​​​​​​​​​​​​​​​<maxHistory>60</maxHistory> ​​​​​​​​​​​​​​​​​​</rollingPolicy> ​​​​​​​​​​​​​​​</appender> ​​​​​​​​​​​​​​​<!-- root레벨 설정 --> ​​​​​​​​​​​​<root level="${LOG_LEVEL}"> ​​​​​​​​​​​​​​​​​​​​<appender-ref ref="CONSOLE"/> ​​​​​​​​​​​​​​​​​​​​<appender-ref ref="FILE"/> ​​​​​​​​​​​​​​​​​​​​<appender-ref ref="Error"/> ​​​​​​​​​​​​​</root> ​​​​​​​​​​​​​<!-- 특정패키지 로깅레벨 설정 --> ​​​​​​​​​​​​​​<logger name="org.apache.ibatis" level="INFO" additivity="false"> ​​​​​​​​​​​​​​​​​​​​​​<appender-ref ref="CONSOLE"/> ​​​​​​​​​​​​​​​​​​​​​​<appender-ref ref="FILE"/> ​​​​​​​​​​​​​​​​​​​​​​<appender-ref ref="Error"/> ​​​​​​​​​​​​​​</logger> ​​​​​​​​</configuration>

위에서 application.yml 파일에서

  profiles:

    active: local  

로 설정한 부분이 있다. local에서 개발시에는 active를 local로 설정을 하고 배포시에는 active를 dev난 prod로 설정을 하면 설정에 따라서 logback-spring.xml파일에서 springProfile name=”local” 부분이 있다.

active 설정 모드에 따라서 logback-local.properties 파일을 읽어 오게된다.

이제 로그 파일까지 설정을 하였다.

728x90
반응형


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."