λ‘œκΉ…

κΉ€μ€€νƒœΒ·2023λ…„ 4μ›” 27일
0

곡뢀

λͺ©λ‘ 보기
2/10
post-thumbnail

πŸ₯Έ λ‘œκΉ…(Logging)

  • ν”„λ‘œκ·Έλž¨ λ™μž‘μ‹œ λ°œμƒν•˜λŠ” λͺ¨λ“ μΌμ„ κΈ°λ‘ν•˜λŠ” ν–‰μœ„
  • 기둝 자체λ₯Ό 둜그(log)라고 함
  • 좜λ ₯ν˜•μ‹μ„ 지정할 수 있음
  • λ‘œκΉ… μ‹œμŠ€ν…œμ€ λ©”μ‹œμ§€ λ ˆλ²¨μ— 따라 좜λ ₯될 λ©”μ‹œμ§€λ₯Ό ν•„ν„°λ§ν•˜κ³  지정가λŠ₯
  • μ½˜μ†”λΏμ•„λ‹ˆλΌ 파일, λ„€νŠΈμ›Œν¬μ—λ„ 둜그λ₯Ό 별도에 μœ„μΉ˜μ— 남길 수 있음
  • 디버깅을 μ‚¬μš©ν•˜κΈ° μ–΄λ €μš΄ ν™˜κ²½μ—μ„œμ˜ μ΅œμ„ μ˜ 선택

πŸ’‘ 둜그레벨

  • λ‘œκ·Έμ— λ‚¨κ²¨μ§€λŠ” λ©”μ‹œμ§€μ˜ μ€‘μš”λ„λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μˆ˜μ€€

    κ°œλ°œμžκ°€ μ˜λ„ν•œ μ—λŸ¬

    • TRACE : κ°€μž₯ μƒμ„Έν•œ 둜그 레벨, κ°œλ°œν™˜κ²½μ—μ„œ 버그λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ μ‚¬μš©
    • DEBUG : 개발 λ‹¨κ³„μ—μ„œ ν”„λ‘œκ·Έλž¨μ˜ μ‹€ν–‰ 과정을 μΆ”μ ν•˜κΈ° μœ„ν•΄ μ‚¬μš©, 일반적으둜 μ½”λ“œ 흐름과 λ³€μˆ˜μ˜ 값을 좔적
    • INFO : λͺ…ν™•ν•œ μ˜λ„κ°€ μžˆλŠ” μ—λŸ¬, μš”κ΅¬μ‚¬ν•­μ— 따라 μ‹œμŠ€ν…œ λ™μž‘μ„ λ³΄μ—¬μ€„λ•Œ μ‚¬μš©
    • WARN : μ—λŸ¬κ°€ 될 수 μžˆλŠ” 잠재적 κ°€λŠ₯성이 μžˆλŠ” 경우 (ex : λ°μ΄ν„°λ² μ΄μŠ€ 연결이 μ‹€νŒ¨ν•˜κ±°λ‚˜, νŒŒμΌμ„ 찾을 수 μ—†λŠ” 경우)

    κ°œλ°œμžκ°€ μ˜λ„ν•˜μ§€ μ•Šμ€ μ—λŸ¬

    • ERROR : λ‘œκ·ΈλŠ” λ°˜λ“œμ‹œ 처리, μ˜λ„ν•˜μ§€ μ•Šμ€ μ—λŸ¬κ°€ λ°œμƒν•˜λŠ” 경우 (ν”„λ‘œκ·Έλž¨ μ’…λ£Œ X)
    • FATAL : μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ‹€ν–‰ 쀑지될 수 μžˆλŠ” 치λͺ…적인 였λ₯˜

πŸ”Ž 디버깅

  • μ˜ˆμ™Έμ‚¬ν•­μ„ κ°€μž₯ 잘 νŒŒμ•…ν•  수 있음 (λ³€μˆ˜μ˜ κ°’μ΄λ‚˜, λ©”λͺ¨λ¦¬ μ£Όμ†Œλ“±μ„ breakPoint λ₯Ό ν™œμš©ν•΄ 확인가λŠ₯)
  • μ†Œν”„νŠΈμ›¨μ–΄ 버그(Bug)λ₯Ό μ°Ύμ•„λ‚΄κ³  μˆ˜μ •ν•˜λŠ” κ³Όμ •
  • μŠ€νƒ 트레이슀(Stack Trace)λ‚˜ μ½˜μ†” 좜λ ₯ λ“±μ˜ 디버깅 정보λ₯Ό ν™œμš©ν•˜μ—¬ 버그λ₯Ό μΆ”μ ν•˜κ³  ν•΄κ²°

System.out.println()

  • κ°„λ‹¨ν•œ λ””λ²„κΉ…μš©μœΌλ‘œ μ‚¬μš©λ˜λŠ” μ½˜μ†” 좜λ ₯ λ©”μ†Œλ“œ
  • ν”„λ‘œκ·Έλž¨μ—μ„œ 둜그 λ©”μ‹œμ§€λ₯Ό μˆ˜μ§‘ν•˜κ±°λ‚˜ λΆ„μ„ν•˜λŠ” 데 μ‚¬μš© X

πŸ”Ž SLF4J(Simple Logging Facade for Java)

  • λ‘œκΉ… ν”„λ ˆμž„μ›Œν¬
  • μžλ°” μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ λ‘œκΉ…μ— λŒ€ν•œ 좔상화 계측을 μ œκ³΅ν•˜λŠ” μΈν„°νŽ˜μ΄μŠ€λ₯Ό 제곡 (λ‹¨λ…μœΌλ‘œ μ‚¬μš© X)

SLF4J λͺ¨λ“ˆ

  • Bridge : λ‹€λ₯Έ λ‘œκΉ… APIλ‘œλΆ€ν„° SLF4J API둜 μ—°κ²°ν•΄μ£ΌλŠ” 도ꡬ, Bindingκ³Ό 같은 ν”„λ ˆμž„μ›Œν¬λ₯Ό μ‚¬μš© X
  • API : λ‘œκΉ…μ— λŒ€ν•œ 좔상 λ ˆμ΄μ–΄(μΈν„°νŽ˜μ΄μŠ€) 제곡, ν•˜λ‚˜μ˜ APIλͺ¨λ“ˆμ— ν•˜λ‚˜μ˜ Binding을 λ‘¬μ•Όν•œλ‹€.
  • Binding : APIλ₯Ό λ‘œκΉ…κ΅¬ν˜„μ²΄μ™€ μ—°κ²°ν•˜λŠ” 도ꡬ

πŸ“Ž μ°Έκ³  자료

0개의 λŒ“κΈ€