Skip to content

Commit 70db63f

Browse files
committed
environment: actuator 추가
1 parent 1d95f57 commit 70db63f

File tree

2 files changed

+63
-0
lines changed

2 files changed

+63
-0
lines changed

build.gradle

+6
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,12 @@ dependencies {
4040
implementation 'com.google.code.gson:gson:2.11.0' // JSON 라이브러리
4141
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.5.0'
4242

43+
// Monitoring
44+
implementation 'org.springframework.boot:spring-boot-starter-actuator' // Spring Boot Actuator
45+
implementation 'io.micrometer:micrometer-registry-prometheus' // Prometheus
46+
implementation 'ch.qos.logback:logback-classic:1.5.6' // Logback
47+
implementation 'ch.qos.logback:logback-core:1.5.6' // Logback
48+
4349
// DB
4450
implementation 'com.mysql:mysql-connector-j:9.0.0' // MySQL JDBC Driver
4551
implementation 'org.springframework.boot:spring-boot-starter-data-jpa' // Spring Data JPA

src/main/resources/logback-spring.xml

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<configuration>
2+
3+
<property name="LOG_PATH" value="${LOG_PATH:-/logs}" />
4+
5+
<!-- Console appender for all environments -->
6+
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
7+
<encoder>
8+
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
9+
</encoder>
10+
</appender>
11+
12+
<!-- File appender for stage environment -->
13+
<appender name="FILE_STAGE" class="ch.qos.logback.core.rolling.RollingFileAppender">
14+
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
15+
<!-- Daily rotation and time-based file naming pattern -->
16+
<fileNamePattern>${LOG_PATH}/stage/application.%d{yyyy-MM-dd}.log</fileNamePattern>
17+
<!-- Set maxHistory to define the number of days to retain logs -->
18+
<maxHistory>30</maxHistory>
19+
</rollingPolicy>
20+
<encoder>
21+
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
22+
</encoder>
23+
</appender>
24+
25+
<!-- File appender for prod environment -->
26+
<appender name="FILE_PROD" class="ch.qos.logback.core.rolling.RollingFileAppender">
27+
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
28+
<!-- Daily rotation and time-based file naming pattern -->
29+
<fileNamePattern>${LOG_PATH}/prod/application.%d{yyyy-MM-dd}.log</fileNamePattern>
30+
<!-- Set maxHistory to define the number of days to retain logs -->
31+
<maxHistory>30</maxHistory>
32+
</rollingPolicy>
33+
<encoder>
34+
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
35+
</encoder>
36+
</appender>
37+
38+
<!-- Root logger configuration -->
39+
<root level="INFO">
40+
<appender-ref ref="CONSOLE" />
41+
</root>
42+
43+
<springProfile name="stage">
44+
<root level="INFO">
45+
<appender-ref ref="CONSOLE" />
46+
<appender-ref ref="FILE_STAGE" />
47+
</root>
48+
</springProfile>
49+
50+
<springProfile name="prod">
51+
<root level="INFO">
52+
<appender-ref ref="CONSOLE" />
53+
<appender-ref ref="FILE_PROD" />
54+
</root>
55+
</springProfile>
56+
57+
</configuration>

0 commit comments

Comments
 (0)