Skip to content

Commit

Permalink
feat: 로그 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
This2sho committed Jul 1, 2024
1 parent 1317c18 commit cd70e88
Show file tree
Hide file tree
Showing 3 changed files with 98 additions and 0 deletions.
38 changes: 38 additions & 0 deletions domain/src/main/resources/console-info-appender.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<included>
<appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>./logs/info.log</file>

<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch> <!-- 해당 레벨만 기록한다. -->
<onMismatch>DENY
</onMismatch> <!-- 다른 수준의 레벨은 기록하지 않는다.(상위 레벨도 기록 안함), 상위 수준의 레벨에 대한 기록을 원하면 ACCEPT 로 하면 기록된다. -->
</filter> <!-- 레벨별 필터링이 필요없을 경우 filter class 관련된 부분을 삭제하면 됨-->

<encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
<mdc/>
<pattern>
<pattern>
{
"timestamp": "%date{yyyyMMdd HHmmss.SSSSSS}",
"message": "%message"
}
</pattern>
</pattern>
</providers>
<timestampPattern>yyyyMMddHHmmss.SSSSSS</timestampPattern>
</encoder>

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>./logs/history/info-history.log.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>50MB</maxFileSize>
<!-- 한 로그 파일이 50MB 차면 위 fileNamePattern으로 분리해 저장한다 -->
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>30</maxHistory>
<totalSizeCap>2GB</totalSizeCap>
<!-- 30일이 경과하거나, 전체 로그파일 용향이 2GB를 초과하면 오래된 파일 순으로 삭제한다. -->
</rollingPolicy>
</appender>
</included>
37 changes: 37 additions & 0 deletions domain/src/main/resources/console-warn-appender.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<included>
<appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>./logs/warn.log</file>

<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>WARN</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>

<encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
<mdc/>
<pattern>
<pattern>
{
"timestamp": "%date{yyyyMMdd HHmmss.SSSSSS}",
"message": "%message"
}
</pattern>
</pattern>
</providers>
<timestampPattern>yyyyMMddHHmmss.SSSSSS</timestampPattern>
</encoder>

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>./logs/history/warn-history.log.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>50MB</maxFileSize>
<!-- 한 로그 파일이 50MB 차면 위 fileNamePattern으로 분리해 저장한다 -->
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>30</maxHistory>
<totalSizeCap>2GB</totalSizeCap>
<!-- 30일이 경과하거나, 전체 로그파일 용향이 2GB를 초과하면 오래된 파일 순으로 삭제한다. -->
</rollingPolicy>
</appender>
</included>
23 changes: 23 additions & 0 deletions domain/src/main/resources/logback.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>

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

<root level="INFO">
<springProfile name="!prod">
<appender-ref ref="CONSOLE" />
</springProfile>
</root>

<root level="INFO">
<springProfile name="prod">
<appender-ref ref="INFO"/>
<appender-ref ref="ERROR"/>
<appender-ref ref="WARN"/>
</springProfile>
</root>
</configuration>

0 comments on commit cd70e88

Please sign in to comment.