The logging level to understand through examples - yunkon-kim/test-on-github-actions GitHub Wiki

์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ์ดํ•ดํ•ด๋ณด๋Š” Logging level

๊ฐœ๋ฐœ ์‹œ ๋กœ๊น…์€ ํ•„์ˆ˜ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋ง‰์ƒ ์ ์šฉํ•˜๋ ค๊ณ  ๋ณด๋ฉด ๋‹ค์–‘ํ•œ Logging level๋กœ ์ธํ•ด ์–ด๋–ป๊ฒŒ ๋กœ๊น…ํ•ด์•ผ ํ• ์ง€ ํ˜ผ๋ž€์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜ญ ๊ทธ๋ž˜์„œ, ๋‹ค์–‘ํ•œ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด Logging level๋ฅผ ์ดํ•ดํ•ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

Logging level์˜ ๋งฅ๋ฝ์„ ํŒŒ์•…ํ•˜๋Š” ์ •๋„๋กœ ํ™œ์šฉํ•˜์‹œ๊ณ , ์œ ์—ฐํ•˜๊ฒŒ Logging level์„ ์ ์šฉํ•˜์‹œ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿ‘

Logging level

Golang logrus์˜ Logging level์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.

Logging์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฒ”์œ„(?)

Trace๊ฐ€ ๊ฐ€์žฅ ๋งŽ์€ ๋กœ๊น… ์ •๋ณด๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ž˜์™€ ๊ฐ™์ด ๋‚˜ํƒ€๋‚ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

Trace > Debug > Info > Warn > Error > Fatal > Panic

์˜ˆ๋ฅผ ๋“ค์–ด, Logging level์„ Info๋กœ ์„ค์ • ์‹œ Info, Warn, Error, Fatal, Panic์— ๋Œ€ํ•œ ๋กœ๊น…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • Trace:
    • ๋ณ€์ˆ˜ ๊ฐ’,
    • ๋ณ€์ˆ˜์˜ ์ฃผ์†Œ ๊ฐ’/์ฐธ์กฐ ๋Œ€์ƒ,
    • ๋ฉ”์‹œ์ง€(Text, JSON, etc.), ๋“ฑ
  • Debug:
    • ํ•จ์ˆ˜์˜ ์‹œ์ž‘๊ณผ ๋,
    • ๋””๋ฒ„๊น…์— ํ•„์š”ํ•œ ๋™์ž‘ ๊ณผ์ •,
    • ๋””๋ฒ„๊น…์— ํ•„์š”ํ•œ ์ด๋ฒคํŠธ, ๋“ฑ
  • Info:
    • ์„œ๋น„์Šค์˜ ๋™์ž‘ ์ƒํƒœ,
    • ์ •๋ณด์„ฑ ๋ฉ”์‹œ์ง€(e.g., cb-network is running),
    • ํŠน์ •ํ•œ Event ์•Œ๋ฆผ,
    • ๊ธด ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋Š” ์ž‘์—…(DB ๋™๊ธฐํ™”),
    • ์ƒํƒœ ๋ณ€๊ฒฝ, ๋“ฑ
  • Warn:
    • ๊ฒฝ๊ณ ์„ฑ ๋ฉ”์‹œ์ง€
    • ์‹ค์ˆ˜ํ•œ ๊ฒฝ์šฐ(e.g., ๋‚ ์งœ๋ฅผ ์ž˜๋ชป ์ž…๋ ฅ: yyyy-MM-dd์ธ๋ฐ 2021-1-21๋กœ ์ž…๋ ฅ),
    • ์ถ”ํ›„ Error์˜ ์›์ธ์ด ๋  ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ(์Šคํ† ๋ฆฌ์ง€ ์‚ฌ์šฉ๋Ÿ‰์ด 75%๋ฅผ ์ดˆ๊ณผํ•จ), ๋“ฑ
  • Error:
    • ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์ค‘ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ
    • DB์—ฐ๊ฒฐ ์‹คํŒจ,
    • ํŒŒ์ผ ์—ด๊ธฐ ์‹คํŒจ, ๋“ฑ
    • (์˜๋„ํ•˜์ง€ ์•Š์€ ์˜ค๋ฅ˜์ด๊ธฐ ๋•Œ๋ฌธ์— ์•Œ๋ฆผ ํ•„์ˆ˜์ด๊ณ , ๋ฐ”๋กœ ํ™•์ธ ๊ฐ€๋Šฅํ•œ ๋ฌธ์ž, ์นด์นด์˜คํ†ก, ํ…”๋ ˆ๊ทธ๋žจ ๋“ฑ์„ ๊ถŒ์žฅ)
  • Fatal(๋น„์ถ”์ฒœ):
    • ๊ธด๊ธ‰ํ•˜๊ฒŒ ์ž‘์—…์„ ์ค‘๋‹จํ•ด์•ผํ•  ๋•Œ
    • ๋กœ๊ทธ๋ฅผ ๋‚จ๊ธฐ๊ณ  ๋ฐ”๋กœ Application์„ ์ข…๋ฃŒํ•จ(os. Exit(1))
    • defer function ์ˆ˜ํ–‰ X
  • Panic(์ถ”์ฒœ):
    • ์ •์ƒ์ ์ธ ์ค‘๋‹จ์„ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ณผ์ •์„ ๋‹จ๊ณ„์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๊ณ  ์ค‘๋‹จํ•  ๋•Œ
    1. Function ์ˆ˜ํ–‰์„ ์ฆ‰์‹œ ์ค‘๋‹จ
    2. defer function์„ ์ˆ˜ํ–‰ํ•จ
    3. caller function์— ๋ฆฌํ„ดํ•จ
    4. caller function์ด i ~ iii ์„ ๋ฐ˜๋ณต ์ˆ˜ํ–‰ํ•˜๊ณ 
    5. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ข…๋ฃŒํ•จ

References