Skip to content

πŸš€ [κΈ°λŠ₯κ°œμ„ ][chore] Spring Boot λ‘œκΉ… 레벨 μ „λž΅ 수립 및 Logback 파일 μ„€μ •Β #467

@Chuseok22

Description

@Chuseok22

πŸ“ ν˜„μž¬ 문제점

ν˜„μž¬ Spring Boot μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ log.debug() μ€‘μ‹¬μ˜ λ‘œκΉ…μ΄ 이뀄지고 μžˆμŠ΅λ‹ˆλ‹€. 특히 μ±„νŒ… κΈ°λŠ₯μ—μ„œ λ§€ μ΄λ²€νŠΈλ§ˆλ‹€ inbound, outbound, destination, message에 λŒ€ν•΄ debug 둜그λ₯Ό λͺ¨λ‘ 좜λ ₯ν•˜λ©΄μ„œ,

  • λ‘œκ·ΈλŸ‰ 폭증 β†’ 운영/뢄석 효율 μ €ν•˜, μŠ€ν† λ¦¬μ§€ λΉ„μš© 증가
  • μ€‘μš”λ„ 혼재 β†’ μž₯μ•  원인 νŒŒμ•… μ‹œ μœ μ˜λ―Έν•œ error/warn/info와 작음(debug)이 μ„žμ—¬ 탐색 μ‹œκ°„μ΄ λŠ˜μ–΄λ‚¨
  • 운영 κ°€μ‹œμ„± λΆ€μ‘± β†’ μ—λŸ¬ 둜그의 뢄리 보관/신속 쑰회 체계 λΆ€μž¬
  • ν‘œμ€€ 미흑 β†’ μ„œλΉ„μŠ€ μ „λ°˜μ—μ„œ λ‘œκΉ… μˆ˜μ€€/λ©”μ‹œμ§€/ν•„λ“œκ°€ ν†΅μΌλ˜μ§€ μ•Šμ•„ λŒ€κ·œλͺ¨ μš΄μ˜μ— 뢀적합

μ‹€μ„œλΉ„μŠ€ ν™˜κ²½μž„μ—λ„ ꡬ쑰화/집계/μ•Œλ¦Ό/보쑴/λ³΄μ•ˆ(PII λ§ˆμŠ€ν‚Ή) λ“± 운영 λ‹¨κ³„μ˜ λ‘œκΉ… 고도화가 λ―Έν‘ν•˜μ—¬ κ°œμ„ μ΄ ν•„μš”ν•©λ‹ˆλ‹€.

πŸ› οΈ ν•΄κ²° λ°©μ•ˆ / μ œμ•ˆ κΈ°λŠ₯

1) λ‘œκΉ… 레벨 μ „λž΅ μž¬μ •μ˜ (info/warn/error 쀑심, debug μ΅œμ†Œν™”)

  • κΈ°λ³Έ 원칙

    • info: 정상 ν”Œλ‘œμš°μ˜ μƒνƒœ 전이(μ„Έμ…˜ μ—°κ²°/ν•΄μ œ, μ€‘μš”ν•œ λΉ„μ¦ˆλ‹ˆμŠ€ 이벀트 μ™„λ£Œ)
    • warn: 볡ꡬ κ°€λŠ₯ 이상 μ§•ν›„(μž¬μ‹œλ„/폴백 λ°œμƒ, μ„±λŠ₯ ν•œκ³„ μž„λ°•)
    • error: μ‚¬μš©μž 영ν–₯/데이터 손상 κ°€λŠ₯/치λͺ… μ‹€νŒ¨
    • debug: 개발·문제 μž¬ν˜„ μ‹œμ—λ§Œ ν•„μš”ν•œ 상세 진단(운영 기본값에선 λΉ„ν™œμ„±ν™”)

2) ꡬ쑰화(JSON) λ‘œκΉ… + 상관관계(MDC) λ„μž…

  • JSON Layout으둜 μ „ν™˜ν•˜μ—¬ 둜그 μˆ˜μ§‘/검색/집계(ELK/OpenSearch/Loki λ“±) μ΅œμ ν™”

3) Logback ν”„λ‘œνŒŒμΌλ³„ μ„€μ • 및 μ—λŸ¬ μ „μš© 파일 뢄리/보쑴

  • logback-spring.xmlμ—μ„œ dev/stage/prod ν”„λ‘œνŒŒμΌ 별 레벨/appenders 뢄리

  • 운영(prod):

    • μ½˜μ†”: INFO 이상
    • μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 파일: INFO 이상(둀링, 보쑴기간 μ„€μ •)
    • μ—λŸ¬ μ „μš© 파일: ERROR만 뢄리 μ €μž₯(μ‹ μ†ν•œ μž₯μ•  μ„œμΉ˜ 경둜 확보)
    • AsyncAppender μ‚¬μš©μœΌλ‘œ I/O λ°±ν”„λ ˆμ…” μ™„ν™”

μ˜ˆμ‹œ (logback-spring.xml, μš”μ§€)

4) 둜그 μˆ˜μ§‘/집계/μ•Œλ¦Ό 운영 κ°€μ΄λ“œ

  • μˆ˜μ§‘: Filebeat/Fluent Bit β†’ Elasticsearch/OpenSearch/Loki(운영 ν‘œμ€€ 쀑 택1)
  • 인덱슀 μ „λž΅: μ„œλΉ„μŠ€/ν™˜κ²½/도메인 뢄리(app-prod-chat-*)
  • 보쑴: info 14~30일, error 90일(+μ••μΆ•), κ°μ‚¬λ‘œκ·Έ 별도 μž₯기보쑴
  • μ•Œλ¦Ό: ERROR 슀파이크, νŠΉμ • μ˜ˆμ™Έ νŒ¨ν„΄, μ±„νŒ… μ‹€νŒ¨μœ¨/μ§€μ—° μž„κ³„μΉ˜ 초과 μ‹œ Slack/이메일/PagerDuty

βš™οΈ μž‘μ—… λ‚΄μš©

πŸ™‹β€β™‚οΈ λ‹΄λ‹Ήμž

  • λ°±μ—”λ“œ: @Chuseok22
  • ν”„λ‘ νŠΈμ—”λ“œ: 이름
  • λ””μžμΈ: 이름

Metadata

Metadata

Assignees

Labels

choreμœ μ§€λ³΄μˆ˜/λΉŒλ“œ/작무 (Chore)μž‘μ—… μ „μž‘μ—… μ‹œμž‘ μ „ μ€€λΉ„μƒνƒœ

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions