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(์ถ์ฒ):
- ์ ์์ ์ธ ์ค๋จ์ ์ํด ํ์ํ ๊ณผ์ ์ ๋จ๊ณ์ ์ผ๋ก ์ํํ๊ณ ์ค๋จํ ๋
- Function ์ํ์ ์ฆ์ ์ค๋จ
- defer function์ ์ํํจ
- caller function์ ๋ฆฌํดํจ
- caller function์ด i ~ iii ์ ๋ฐ๋ณต ์ํํ๊ณ
- ์ ํ๋ฆฌ์ผ์ด์ ์ ์ข ๋ฃํจ