Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,8 @@ out/


### config yml ###
application-**.yml
application-**.yml


### log ###
*.log
3 changes: 2 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@ dependencies {
implementation 'io.springfox:springfox-swagger-ui:3.0.0'

// logback
implementation group: 'ch.qos.logback', name: 'logback-core', version: '1.2.9'
implementation group: 'ch.qos.logback', name: 'logback-access', version: '1.2.9'
implementation group: 'ch.qos.logback', name: 'logback-core', version: '1.2.12'
testImplementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.9'
}

Expand Down
Empty file added log/errorLog.log
Empty file.
Empty file added log/warnLog.log
Empty file.
59 changes: 59 additions & 0 deletions src/main/resources/logback-spring.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
<configuration scan="true" scanPeriod="60 seconds">
<property name="LOG_PATH" value="log"/>
<property name="LOG_FILE_NAME" value="errorLog"/>
<property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [traceId=%X{traceId}] [%thread] [%logger{40}] - %msg%n"/>

<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>${LOG_PATTERN}</Pattern>
</encoder>
</appender>

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

<filter class="ch.qos.logback.classic.filter.LevelFilter"> <!--appender가 동작할 조건 설정-->
<level>ERROR</level> <!--error level에서만 동작-->
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>

<file>${LOG_PATH}/${LOG_FILE_NAME}.log</file>

<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>${LOG_PATTERN}</pattern>
</encoder>

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/%d{yyyy-MM, aux}/${LOG_FILE_NAME}.%d{yyyy-MM-dd}.log</fileNamePattern>
<totalSizeCap>20GB</totalSizeCap>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저희 인스턴스 생각하면 20기가면 큰 것 같습니다. 더 작게 제한하면 좋을 것 같아요. 2GB라던지!?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

로그파일은 ec2말고 s3에 저장하는 경우도 있던데, 어떻게 생각하세욤?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2GB로 줄이는게 나을 듯 하네용.
그리고 s3에 저장하는 경우는 한 번 찾아보고 적용하겠습니당.
땡큐!

</rollingPolicy>

</appender>

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

<filter class="ch.qos.logback.classic.filter.LevelFilter"> <!--appender가 동작할 조건 설정-->
<level>WARN</level> <!--warn level에서만 동작-->
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>

<file>log/warnLog.log</file>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

여기는 ${LOG_PATH}를 안쓰나요?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이건 고쳐서 다시 푸시하겠습니당 감사해요!


<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>${LOG_PATTERN}</pattern>
</encoder>

<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/%d{yyyy-MM, aux}/warnLog.%d{yyyy-MM-dd}.log</fileNamePattern>
<totalSizeCap>20GB</totalSizeCap>
</rollingPolicy>

</appender>

<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="ERROR_FILE"/>
<appender-ref ref="WARN_FILE"/>
</root>
</configuration>