Skip to content

Commit

Permalink
refactor: log 파일 저장 경로 숨김 및 색상 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
ywj9811 committed Jun 23, 2023
1 parent 43d55de commit f8507b2
Showing 1 changed file with 28 additions and 14 deletions.
42 changes: 28 additions & 14 deletions src/main/resources/logback-spring.xml
Original file line number Diff line number Diff line change
@@ -1,58 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<springProperty name="infoLogPath" source="logging.file.path.info"/>
<springProperty name="wasInfoLogPath" source="logging.file.path.wasInfo"/>
<springProperty name="warnLogPath" source="logging.file.path.warn"/>
<springProperty name="wasWarnLogPath" source="logging.file.path.wasWarn"/>
<springProperty name="errorLogPath" source="logging.file.path.error"/>
<springProperty name="wasErrorLogPath" source="logging.file.path.wasError"/>
<springProperty name="consolePattern" source="logging.pattern.console"/>
<springProperty name="filePattern" source="logging.pattern.file"/>

<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>[%d{yyyy-MM-dd HH:mm:ss}:%-3relative][%thread] %-5level %logger{36} - %msg%n</Pattern>
<Pattern>${consolePattern}</Pattern>
</layout>
</appender>
<appender name="INFO_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>./logs/info.log</file> <!-- 파일을 저장할 경로를 정한다 -->
<file>${infoLogPath}</file>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch> <!-- 해당 레벨만 기록한다. -->
<onMismatch>DENY</onMismatch> <!-- 다른 수준의 레벨은 기록하지 않는다.(상위 레벨도 기록 안함), 상위 수준의 레벨에 대한 기록을 원하면 ACCEPT 로 하면 기록된다. -->
</filter> <!-- 레벨별 필터링이 필요없을 경우 filter class 관련된 부분을 삭제하면 됨-->
<encoder>
<pattern>[%d{yyyy-MM-dd HH:mm:ss}:%-3relative][%thread] %-5level %logger{35} - %msg%n</pattern> <!-- 해당 패턴 네이밍으로 현재 로그가 기록됨 -->
<pattern>${filePattern}</pattern> <!-- 해당 패턴 네이밍으로 현재 로그가 기록됨 -->
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>./was-logs/info.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern> <!-- 해당 패턴 네이밍으로 이전 파일이 기록됨 -->
<fileNamePattern>${wasInfoLogPath}</fileNamePattern> <!-- 해당 패턴 네이밍으로 이전 파일이 기록됨 -->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize> <!-- 한 파일의 최대 용량 -->
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>180</maxHistory> <!-- 한 파일의 최대 저장 기한 -->
</rollingPolicy>
</appender>
<appender name="WARN_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>./logs/warn.log</file> <!-- 파일을 저장할 경로를 정한다 -->
<file>${warnLogPath}</file>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>WARN</level>
<onMatch>ACCEPT</onMatch> <!-- 해당 레벨만 기록한다. -->
<onMismatch>DENY</onMismatch> <!-- 다른 수준의 레벨은 기록하지 않는다.(상위 레벨도 기록 안함), 상위 수준의 레벨에 대한 기록을 원하면 ACCEPT 로 하면 기록된다. -->
</filter> <!-- 레벨별 필터링이 필요없을 경우 filter class 관련된 부분을 삭제하면 됨-->
<encoder>
<pattern>[%d{yyyy-MM-dd HH:mm:ss}:%-3relative][%thread] %-5level %logger{35} - %msg%n</pattern> <!-- 해당 패턴 네이밍으로 현재 로그가 기록됨 -->
<pattern>${filePattern}</pattern> <!-- 해당 패턴 네이밍으로 현재 로그가 기록됨 -->
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>./was-logs/warn.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern> <!-- 해당 패턴 네이밍으로 이전 파일이 기록됨 -->
<fileNamePattern>${wasWarnLogPath}</fileNamePattern> <!-- 해당 패턴 네이밍으로 이전 파일이 기록됨 -->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize> <!-- 한 파일의 최대 용량 -->
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>180</maxHistory> <!-- 한 파일의 최대 저장 기한 -->
</rollingPolicy>
</appender>
<appender name="ERROR_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>./logs/error.log</file> <!-- 파일을 저장할 경로를 정한다 -->
<file>${errorLogPath}</file>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch> <!-- 해당 레벨만 기록한다. -->
<onMismatch>DENY</onMismatch> <!-- 다른 수준의 레벨은 기록하지 않는다.(상위 레벨도 기록 안함), 상위 수준의 레벨에 대한 기록을 원하면 ACCEPT 로 하면 기록된다. -->
</filter> <!-- 레벨별 필터링이 필요없을 경우 filter class 관련된 부분을 삭제하면 됨-->
<encoder>
<pattern>[%d{yyyy-MM-dd HH:mm:ss}:%-3relative][%thread] %-5level %logger{35} - %msg%n</pattern> <!-- 해당 패턴 네이밍으로 현재 로그가 기록됨 -->
<pattern>${filePattern}</pattern> <!-- 해당 패턴 네이밍으로 현재 로그가 기록됨 -->
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>./was-logs/error.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern> <!-- 해당 패턴 네이밍으로 이전 파일이 기록됨 -->
<fileNamePattern>${wasErrorLogPath}</fileNamePattern> <!-- 해당 패턴 네이밍으로 이전 파일이 기록됨 -->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize> <!-- 한 파일의 최대 용량 -->
</timeBasedFileNamingAndTriggeringPolicy>
Expand All @@ -64,23 +75,26 @@
<appender-ref ref="STDOUT"/>
</root>

<logger name="chilling.encore.global.exception.GlobalException" additivity="false">
<level value = "DEBUG" />
<logger name="chilling.encore.global.exception.GlobalExceptionHandler" additivity="false">
<level value = "INFO" />
<appender-ref ref="INFO_LOG" />
<appender-ref ref="WARN_LOG" />
<appender-ref ref="ERROR_LOG" />
<appender-ref ref="STDOUT" />
</logger>
<logger name="chilling.encore.global.config.security.jwt.filter.JwtFilter" additivity="false">
<level value = "DEBUG" />
<level value = "INFO" />
<appender-ref ref="INFO_LOG" />
<appender-ref ref="WARN_LOG" />
<appender-ref ref="ERROR_LOG" />
<appender-ref ref="STDOUT" />
</logger>
<logger name="chilling.encore.global.config.security.geoIp.IpAuthenticationFilter" additivity="false">
<level value = "DEBUG" />
<level value = "INFO" />
<appender-ref ref="INFO_LOG" />
<appender-ref ref="WARN_LOG" />
<appender-ref ref="ERROR_LOG" />
<appender-ref ref="STDOUT" />
</logger>

</configuration>

0 comments on commit f8507b2

Please sign in to comment.