Skip to content
Closed
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
12 changes: 6 additions & 6 deletions .github/workflows/deploy-java.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@ jobs:
echo "DB_USER=${{ secrets.DB_USER }}" >> .env.prod
echo "DB_PASS=${{ secrets.DB_PASS }}" >> .env.prod
echo "DB_NAME=${{ secrets.DB_NAME }}" >> .env.prod
echo "ENV_NAME=${{ secrets.LOKI_URL }}" >> .env.prod
echo "ENV_NAME=${{ secrets.LOKI_USERNAME }}" >> .env.prod
echo "ENV_NAME=${{ secrets.LOKI_PASSWORD }}" >> .env.prod
echo "LOKI_HOST=${{ secrets.LOKI_HOST }}" >> .env.prod
echo "LOKI_USERNAME=${{ secrets.LOKI_USERNAME }}" >> .env.prod
echo "LOKI_PASSWORD=${{ secrets.LOKI_PASSWORD }}" >> .env.prod
echo "ENV_NAME=${{ secrets.ENV_NAME }}" >> .env.prod

- name: Set repo lowercase
Expand All @@ -44,6 +44,7 @@ jobs:
key: ${{ secrets.SERVER_SSH_KEY }}
source: "docker/production/docker-compose.yml"
target: "~/app"
overwrite: true

- name: Copy .env.prod file to EC2
uses: appleboy/scp-action@v0.1.7
Expand All @@ -62,7 +63,7 @@ jobs:
username: ubuntu
key: ${{ secrets.SERVER_SSH_KEY }}
source: "docker/production/Caddyfile"
target: "~/app/docker/production/"
target: "~/app"
overwrite: true

- name: Copy promtail-config to EC2
Expand All @@ -72,8 +73,7 @@ jobs:
username: ubuntu
key: ${{ secrets.SERVER_SSH_KEY }}
source: "docker/production/promtail-config.yml"
target: "~/app/docker/production/"
overwrite: true
target: "~/app"


- name: Deploy on EC2
Expand Down
45 changes: 6 additions & 39 deletions apps/user-service/src/main/resources/log4j2-production.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ Configuration:
- name: "app-name"
value: "user-service"
- name: "log-path"
value: "./logs"
value: "/logs"
- name: "charset-UTF-8"
value: "UTF-8"
# ν”„λ‘œλ•μ…˜ ν™˜κ²½μš© μ½˜μ†” νŒ¨ν„΄ - κ΅¬μ‘°ν™”λœ 둜그
- name: "console-layout-pattern"
value: "%highlight{[%-5level]} [%X{traceId}] [%X{spanId}] %d{HH:mm:ss}{UTC} [%t] %logger{20} - %msg% "
value: "%highlight{[%-5level]} [%X{traceId}] [%X{spanId}] %d{HH:mm:ss}{UTC} [%t] %logger{20} - %msg%n"
# 파일용 νŒ¨ν„΄ - Promtail이 νŒŒμ‹±ν•˜κΈ° μ‰½κ²Œ ꡬ쑰화 (UTC μ‹œκ°„ μ‚¬μš©)
- name: "file-layout-pattern"
value: "[%X{traceId}] [%X{spanId}] %d{yyyy-MM-dd HH:mm:ss.SSS}{UTC} [%t] %-5level %logger{36} - %msg%n"
Expand All @@ -30,37 +30,6 @@ Configuration:
PatternLayout:
pattern: ${console-layout-pattern}

# Loki Appender - ν”„λ‘œλ•μ…˜ λͺ¨λ‹ˆν„°λ§μš©
Loki:
name: loki-appender
url: ${LOKI_URL} # Grafana Cloud Loki URL
basicAuthUsername: ${LOKI_USERNAME} # Grafana Cloud μ‚¬μš©μž 이름
basicAuthPassword: ${LOKI_PASSWORD} # Grafana Cloud API Key
JsonLayout:
compact: true
eventEol: true
includeStacktrace: true
KeyValuePair:
- key: "app"
value: "${app-name}"
- key: "env"
value: "production"
Label:
- name: "app"
value: "${app-name}"
- name: "env"
value: "production"
- name: "traceId"
value: "${ctx:traceId}"
- name: "spanId"
value: "${ctx:spanId}"
- name: "executionType"
value: "${ctx:executionType:-application}"
- name: "sourceId"
value: "${ctx:sourceId}"
- name: "runId"
value: "${ctx:runId}"

JDBC:
name: workflow-appender
tableName: "execution_log"
Expand Down Expand Up @@ -89,9 +58,11 @@ Configuration:
- name: "reserved1"
pattern: "%X{spanId}"

File:
# RollingFile둜 λ³€κ²½ (File λŒ€μ‹ )
RollingFile:
- name: file-prod-appender
fileName: ${prod-log}
filePattern: ${log-path}/production/app.%d{yyyy-MM-dd}.%i.log
PatternLayout:
pattern: ${file-layout-pattern}
# 둜그 파일 둀링 μ„€μ •
Expand All @@ -103,10 +74,10 @@ Configuration:
size: "100 MB"
DefaultRolloverStrategy:
max: 30
filePattern: ${log-path}/production/app.%d{yyyy-MM-dd}.%i.log

- name: file-error-appender
fileName: ${error-log}
filePattern: ${log-path}/production/error.%d{yyyy-MM-dd}.%i.log
PatternLayout:
pattern: ${file-layout-pattern}
ThresholdFilter:
Expand All @@ -119,7 +90,6 @@ Configuration:
size: "100 MB"
DefaultRolloverStrategy:
max: 30
filePattern: ${log-path}/production/error.%d{yyyy-MM-dd}.%i.log

Loggers:
# Root 둜거 - ν”„λ‘œλ•μ…˜μ—μ„œλŠ” WARN 레벨
Expand All @@ -135,7 +105,6 @@ Configuration:
level: INFO
AppenderRef:
- ref: console-appender
- ref: loki-appender
- ref: file-prod-appender
- ref: file-error-appender

Expand All @@ -144,7 +113,6 @@ Configuration:
additivity: "false"
AppenderRef:
- ref: workflow-appender
- ref: loki-appender
- ref: console-appender
- ref: file-prod-appender
- ref: file-error-appender
Expand Down Expand Up @@ -172,7 +140,6 @@ Configuration:
AppenderRef:
- ref: console-appender
- ref: file-prod-appender
- ref: loki-appender

# νŠΈλžœμž­μ…˜ 둜그 - ν”„λ‘œλ•μ…˜μ—μ„œλŠ” WARN 레벨
- name: org.springframework.transaction
Expand Down
4 changes: 2 additions & 2 deletions docker/production/promtail-config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ scrape_configs:
job: user-service
app: user-service
env: production
__path__: /logs/production/app.log
__path__: /logs/production/app.log # **path** β†’ __path__둜 λ³€κ²½
pipeline_stages:
- regex:
expression: '^\[(?P<traceId>[^\]]*)\] \[(?P<spanId>[^\]]*)\] (?P<timestamp>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}) \[(?P<thread>[^\]]+)\] (?P<level>\w+)\s+(?P<logger>\S+) - (?P<message>.*)$'
Expand All @@ -37,7 +37,7 @@ scrape_configs:
app: user-service
env: production
log_type: error
__path__: /logs/production/error.log
__path__: /logs/production/error.log # **path** β†’ __path__둜 λ³€κ²½
pipeline_stages:
- regex:
expression: '^\[(?P<traceId>[^\]]*)\] \[(?P<spanId>[^\]]*)\] (?P<timestamp>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}) \[(?P<thread>[^\]]+)\] (?P<level>\w+)\s+(?P<logger>\S+) - (?P<message>.*)$'
Expand Down
Loading