Skip to content
Open
Show file tree
Hide file tree
Changes from all 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
5 changes: 5 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,11 @@ dependencies {

implementation 'io.springfox:springfox-boot-starter:3.0.0'
implementation 'io.springfox:springfox-swagger-ui:3.0.0'

// logback
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'
}

tasks.named('test') {
Expand Down
Empty file added log/errorLog.log
Empty file.
Empty file added log/warnLog.log
Empty file.
60 changes: 60 additions & 0 deletions src/main/resources/logback-spring.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
<configuration scan="true" scanPeriod="60 seconds">
<property name="LOG_PATH" value="log"/>
<property name="ERROR_LOG_FILE_NAME" value="errorLog"/>
<property name="WARN_LOG_FILE_NAME" value="warnLog"/>
<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}/${ERROR_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>2GB</totalSizeCap>
</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_PATH}/${WARN_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}/warnLog.%d{yyyy-MM-dd}.log</fileNamePattern>
<totalSizeCap>2GB</totalSizeCap>
</rollingPolicy>

</appender>

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