Skip to content

Commit f597aad

Browse files
committed
chores: beanstalk logging
1 parent da75517 commit f597aad

4 files changed

Lines changed: 120 additions & 0 deletions

File tree

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
option_settings:
2+
aws:elasticbeanstalk:cloudwatch:logs:
3+
StreamLogs: true
4+
DeleteOnTerminate: false
5+
RetentionInDays: 3
6+
7+
8+
files:
9+
"/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json":
10+
mode: "000644"
11+
owner: root
12+
group: root
13+
content: |
14+
{
15+
"logs": {
16+
"logs_collected": {
17+
"files": {
18+
"collect_list": [
19+
{
20+
"file_path": "/var/log/eb-docker/containers/eb-current-app/*.log",
21+
"log_group_name": "/aws/elasticbeanstalk/application/docker-app",
22+
"log_stream_name": "{instance_id}/application",
23+
"timezone": "Asia/Seoul"
24+
},
25+
{
26+
"file_path": "/var/log/docker",
27+
"log_group_name": "/aws/elasticbeanstalk/application/docker-engine",
28+
"log_stream_name": "{instance_id}/docker-engine",
29+
"timezone": "Asia/Seoul"
30+
},
31+
{
32+
"file_path": "/var/log/docker.log",
33+
"log_group_name": "/aws/elasticbeanstalk/application/docker-engine",
34+
"log_stream_name": "{instance_id}/docker",
35+
"timezone": "Asia/Seoul"
36+
},
37+
{
38+
"file_path": "/var/log/eb-engine.log",
39+
"log_group_name": "/aws/elasticbeanstalk/application/eb-engine",
40+
"log_stream_name": "{instance_id}/eb-engine",
41+
"timezone": "Asia/Seoul"
42+
}
43+
]
44+
}
45+
}
46+
}
47+
}
48+
49+
commands:
50+
01_stop_cloudwatch_agent:
51+
command: "/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json || true"
52+
ignoreErrors: true
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
option_settings:
2+
aws:elasticbeanstalk:application:environment:
3+
LANG: ko_KR.UTF-8
4+
LC_ALL: ko_KR.UTF-8
5+
TZ: Asia/Seoul

docker/Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ RUN apk add --no-cache ffmpeg
66

77
WORKDIR /app
88

9+
RUN mkdir -p /var/log && chmod 777 /var/log
10+
911
# JAR 파일 복사
1012
COPY build/libs/*.jar app.jar
1113

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<configuration>
3+
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
4+
5+
<!-- 콘솔 출력 (Docker 컨테이너의 stdout -> CloudWatch로 전달됨) -->
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+
<charset>UTF-8</charset>
10+
</encoder>
11+
</appender>
12+
13+
<!-- 파일 출력 (컨테이너 내부 로그 - 백업용) -->
14+
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
15+
<file>/var/log/application.log</file>
16+
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
17+
<fileNamePattern>/var/log/application.%d{yyyy-MM-dd}.log</fileNamePattern>
18+
<maxHistory>3</maxHistory>
19+
<totalSizeCap>1GB</totalSizeCap>
20+
</rollingPolicy>
21+
<encoder>
22+
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
23+
<charset>UTF-8</charset>
24+
</encoder>
25+
</appender>
26+
27+
<!-- 에러 로그 별도 파일 -->
28+
<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
29+
<file>/var/log/error.log</file>
30+
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
31+
<level>ERROR</level>
32+
</filter>
33+
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
34+
<fileNamePattern>/var/log/error.%d{yyyy-MM-dd}.log</fileNamePattern>
35+
<maxHistory>7</maxHistory>
36+
</rollingPolicy>
37+
<encoder>
38+
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n%ex{full}</pattern>
39+
<charset>UTF-8</charset>
40+
</encoder>
41+
</appender>
42+
43+
<!-- 루트 로거 -->
44+
<root level="INFO">
45+
<appender-ref ref="CONSOLE"/>
46+
<appender-ref ref="FILE"/>
47+
<appender-ref ref="ERROR_FILE"/>
48+
</root>
49+
50+
<!-- 애플리케이션 로그는 DEBUG로 -->
51+
<logger name="HearDay.spring" level="DEBUG"/>
52+
53+
<!-- 외부 라이브러리 로그 레벨 조정 -->
54+
<logger name="org.springframework" level="INFO"/>
55+
<logger name="org.hibernate" level="INFO"/>
56+
<logger name="com.zaxxer.hikari" level="INFO"/>
57+
58+
<!-- SQL 로그 (필요시 DEBUG로 변경) -->
59+
<logger name="org.hibernate.SQL" level="INFO"/>
60+
<logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="INFO"/>
61+
</configuration>

0 commit comments

Comments
 (0)