Skip to content

Commit e2b7eb6

Browse files
committed
refactor: logback-spring.xml 리팩토링
- loki 관련 설정 추가 - 로그 패턴의 단일화 적용 - 파일 저장 appender의 설정 변경
1 parent 7b8b957 commit e2b7eb6

File tree

1 file changed

+81
-38
lines changed

1 file changed

+81
-38
lines changed
Lines changed: 81 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,81 @@
1-
<configuration>
2-
<springProfile name="default">
3-
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
4-
<encoder>
5-
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
6-
<charset>UTF-8</charset>
7-
</encoder>
8-
</appender>
9-
10-
<appender name="ASYNC_FILE" class="ch.qos.logback.classic.AsyncAppender">
11-
<appender-ref ref="FILE" />
12-
<queueSize>5000</queueSize>
13-
<discardingThreshold>0</discardingThreshold>
14-
</appender>
15-
16-
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
17-
<file>${LOG_DIR:-logs}/application.log</file>
18-
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
19-
<fileNamePattern>${LOG_DIR:-logs}/application.%d{yyyy-MM-dd}.log</fileNamePattern>
20-
<maxHistory>30</maxHistory>
21-
</rollingPolicy>
22-
<encoder>
23-
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
24-
<charset>UTF-8</charset>
25-
</encoder>
26-
</appender>
27-
28-
<logger name="com.somemore" level="DEBUG" additivity="false">
29-
<appender-ref ref="CONSOLE" />
30-
<appender-ref ref="ASYNC_FILE" />
31-
</logger>
32-
33-
<root level="INFO">
34-
<appender-ref ref="CONSOLE" />
35-
<appender-ref ref="ASYNC_FILE" />
36-
</root>
37-
</springProfile>
38-
</configuration>
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<configuration scan="true" scanPeriod="30 seconds">
3+
4+
<property name="LOG_PATH" value="./logs" />
5+
<property name="LOG_FILE_NAME" value="application" />
6+
7+
<!-- 공통 로그 패턴 -->
8+
<property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"/>
9+
10+
<!-- 콘솔 출력 Appender -->
11+
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
12+
<encoder>
13+
<pattern>${LOG_PATTERN}</pattern>
14+
</encoder>
15+
</appender>
16+
17+
<!-- 파일 출력 Appender -->
18+
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
19+
<file>${LOG_PATH}/${LOG_FILE_NAME}.log</file>
20+
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
21+
<fileNamePattern>${LOG_PATH}/${LOG_FILE_NAME}.%d{yyyy-MM-dd}.log</fileNamePattern>
22+
<maxHistory>30</maxHistory>
23+
<totalSizeCap>3GB</totalSizeCap>
24+
</rollingPolicy>
25+
<encoder>
26+
<pattern>${LOG_PATTERN}</pattern>
27+
</encoder>
28+
</appender>
29+
30+
<!-- Loki Appender -->
31+
<appender name="LOKI" class="com.github.loki4j.logback.Loki4jAppender">
32+
33+
<http>
34+
<url>http://localhost:3100/loki/api/v1/push</url>
35+
<connectionTimeoutMs>30000</connectionTimeoutMs>
36+
<requestTimeoutMs>15000</requestTimeoutMs>
37+
<maxRetries>3</maxRetries>
38+
<backoffMs>1000</backoffMs>
39+
</http>
40+
41+
<batchSize>100</batchSize>
42+
<batchTimeoutMs>10000</batchTimeoutMs>
43+
<bufferSize>1048576</bufferSize>
44+
45+
<format>
46+
<label>
47+
<pattern>app=my-app,host=${HOSTNAME},environment=${ENV:-local},service=${SERVICE_NAME:-somemore}</pattern>
48+
</label>
49+
<message class="com.github.loki4j.logback.JsonLayout">
50+
<includeTimestamp>true</includeTimestamp>
51+
<includeMDC>true</includeMDC>
52+
<includeThreadName>true</includeThreadName>
53+
<includeLoggerName>true</includeLoggerName>
54+
<jsonFactory>JACKSON</jsonFactory>
55+
<timestampFieldName>@timestamp</timestampFieldName>
56+
<prettyPrint>false</prettyPrint>
57+
<appendLineSeparator>true</appendLineSeparator>
58+
<messageTemplate>${LOG_PATTERN}</messageTemplate>
59+
<timestampFormat>yyyy-MM-dd HH:mm:ss.SSS</timestampFormat>
60+
</message>
61+
<timestampPattern>yyyy-MM-dd'T'HH:mm:ss.SSS'Z'</timestampPattern>
62+
</format>
63+
64+
<timeZone>Asia/Seoul</timeZone>
65+
</appender>
66+
67+
<logger name="com.somemore.application" level="DEBUG" additivity="false">
68+
<appender-ref ref="CONSOLE" />
69+
<appender-ref ref="FILE" />
70+
<appender-ref ref="LOKI" />
71+
</logger>
72+
73+
<logger name="org.springframework" level="INFO" />
74+
<logger name="org.hibernate" level="INFO" />
75+
76+
<root level="INFO">
77+
<appender-ref ref="CONSOLE" />
78+
<appender-ref ref="FILE" />
79+
<appender-ref ref="LOKI" />
80+
</root>
81+
</configuration>

0 commit comments

Comments
 (0)