Feature
๋ก๊ทธ๋ ๋ญ์ง?
์ผ์ง, ๊ธฐ๋ก, ๊ธฐ๋กํ๋ค
- ๋ค์ด๋ฒ ์ฌ์
โ ‘๋ก๊ทธ’(Log)๋ ์ปดํจํฐ๋ ์๋ฒ(Server) ๋ฑ์์ ์ ์ (User)์ ํ๋ ์ด ์ ๋ณด๋ฅผ ์๊ฐ์ ๋ฐ๋ผ ๋จ๊ธฐ๋ ๊ธฐ๋ก์ ๋ปํ๋ค.
- ๋ค์ด๋ฒ ๊ฒ์ ์ฉ์ด ์ฌ์
๋ก๊ทธ๋ ์ธ์ ์ด๋ค ์ ์ ๊ฐ ์ด๋ค ํ๋์ ํ๋๊ฐ ๋จ๊ธฐ๋๊ฒ ๋ก๊ทธ๋ค. console.log( ... )
๋ ๋ก๊ทธ๋ผ ํ ์ ์๋ค. ์ด์ฐ๋์๋ ์๋ฒ๊ฐ ์ด๋ค ํ์๋ฅผ ๊ธฐ๋กํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ํํ๋ค ์ฐ๋ฆฌ๊ฐ ๋งํ๋ '๋ก๊ทธ ์ฐ์ด๋ด'๋ ๋๋ฒ๊น
์ฑํฅ์ด ๊ฐํ ๋ก๊ทธ์ ํด๋นํ๋ค.
๋ก๊ทธ๊ฐ ์ ํ์ํ ๊น?
- ์ค๋ฅ๋ฅผ ์ถ์ ํ๋๋ฐ ํฐ ๋์์ ์ค๋ค.
- ํต๊ณ์ฉ ๋ฐ์ดํฐ๋ก ํ์ฉํ ์ ์๋ค.
- ๋๋ฒ๊น ์ฉ์ผ๋ก ํ์ฉํ ์ ์๋ค.
- ๊ฐ๋จํ๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋ค.
๋ก๊ทธ๋ ์ด๋ค ๊ฐ๋ฐ์ด๋ ์ ๋ง ์ค์ํ ๋ฐ์ดํฐ์ด๋ค. ์๊ฐํ๊ณ ์ถ์ง๋ ์์ง๋ง ํนํ ๋ก๊ทธ๋ ์๊ธฐ์น ์๊ฒ ์๋ฒ๊ฐ ์ฃฝ์์ ๋, ๋์์ค ๊ฐ์ ์กด์ฌ์ด๋ค. ์ค๋ฅ๋ ์๋ฌดํผ ๋ฐ์ํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌํ๊ฒ๋ ๋ฐ์ํ๊ธฐ ์ ์ ๋๋์ฒด ์ค๋ฅ๊ฐ ์ธ์ , ์ ๋ํ๋๋์ง ๊ทธ ๋๊ตฌ๋ ์ ์ ์๋ค... ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ์ฐ๋ฆฐ ์์ต์ ํด์ผํ๋๋ฐ, ์ด๋ ๋ก๊ทธ๋ ์ด๋ค ์ค๋ฅ๊ฐ ๋ฐ์ํ๋์ง๋ ๋ฌผ๋ก , ์ ๋ฐ์ํ๋์ง ์ค๋ฅ๋ฅผ ํ์
ํ๊ฒ ํด์ฃผ๋ ์ด์ ํ์ธ ์
์ด๋ค.
์๋ฒ ๊ธ ๋ค์ด → db ๋ก๊ทธ๋ฅผ ์ดํด๋ณธ๋ค. → error ์น์ ๋จผ์ ํ์ธํ๋ค → ๋ฉ๋ชจ๋ฆฌ ์ค๋ฒ ํ์ธ (์์ธ ํ์ ) → ์๋ฒ ์คํ์ ๋๋ฆฐ๋ค
์ค๋ฅ ๋ฌธ์ ์ ์ → ์ฌ์ฉ์๊ฐ ๋ฌธ์ํ ์๊ฐ๋, ์์ด๋ ํ์ธ → ๋ก๊ทธ์ธ ํ์คํ ๋ฆฌ ํ์ธ → ์ธ์ ์ ์ถ์ ํด ์ค๋ฅ ๋ก๊ทธ๋ฅผ ํ์ธํ๋ค
์ค๋ฅ์ถ์ ์ด์ธ์๋ ๋ก๊ทธ๋ ๋ค์ํ๊ฒ ์ฐ์ธ๋ค. ์ ์ ์ ํ๋์ ์ถ์ ํด ํต๊ณ์ฉ ๋ฐ์ดํฐ๋ฅผ ๋ง๋ค์ด ๋ด๊ฑฐ๋, ๊ฐ๋ฐํ ๋ ๋๋ฒ๊น ์ฉ์ผ๋ก ์ฌ์ฉํ๊ธฐ๋ ํ๋ค. ๋, db์ ์ ์ฅํ๊ธด ๊ฑฐ์๊ธฐํ์ง๋ง ์ ์ฅํ๋ฉด ์ข์ ๋ฐ์ดํฐ๋ค๋ ๋ก๊ทธ๋ก ๋จ๊ธฐ๊ณค ํ๋ค.
๋ก๊ทธ๋ ์ธ์ ํ์ํ ๊น?
๋ก๊ทธ๊ฐ ์ ํ์ํ์ง ์์์ผ๋, ํ๋ฒ ๋ก๊ทธ ํ์ผ์ ๋จ๊ฒจ๋ณด์. ๊ทธ๋ผ ๋ก๊ทธ๋ ์ธ์ ๋จ๊ธฐ๋ฉด ์ข์๊น? ๋๋ ์ฒ์์ try-catch๋ก ์กํ๋ ๋จ๊ธฐ๋ฉด ์ฅ๋ก์ด๋ผ๊ณ ์๊ฐํ๋ค. ๋๋ฌธ์ ๋ณ๋ค๋ฅธ ์ก์ ์ ์๊ดํ์ง ์๊ณ , response status code 500 ์๋ฌ๊ฐ ๋ฐ์ํ ๋๋ง ๋ก๊ทธํ์ผ์ ์์ฑํ๋๋ก ํด์ฃผ์๋ค. ์ด๋ ๋งค-----์ฐ ์ํํ ๋ฐฉ์์ด์๋ค. (๋ธ๋ก๊ทธ์ ์ฐ๊ธฐ๋ ๋ถ๋๋ฌ์) ๊ณผ์ฐ 500์์๋ง ์๋ฌ๊ฐ ๋ฐ์ํ ๊น? 500์ผ๋ก ์บ์น๊ฐ ์๋๊ณ ๊ธ ์ฃฝ์์๋? ์ด๋นจ๋ก 500์ผ๋ก ๋ก๊ทธ๊ฐ ์ฐํ๋ค๊ณ ํด๋ ๋ฌธ์ ๋ ์ฌ๋ผ์ง์ง ์๋๋ค. ๋ก๊ทธ๊ฐ ๋จ๊ธฐ์ ์ด๋ค ์๋๋ฆฌ์ค๊ฐ ์์๋์ง ์ฒดํน์ด ์๋๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋ฌ๋ ์๋ฒ๊ฐ ํ๋ ํ๋์ ๊ฑฐ์๋ค ๊ธฐ๋กํ๋ค๊ณ ์๊ฐํ๋๊ฒ ์ข๋ค.
๊ทธ๋ ๋ด ์๋ฒ๋ ์ด๋ค ํ๋์ ํ ๊น ์๊ฐํด๋ณด์. ๊ณ์ฐ, db ์ ๊ทผ, ๋คํธ์ํน ๋ฑ๋ฑ... ๊ฐ์ฅ ์ค์ํ ์ก์ ์ ๋ฐ๋ก db query์ด๋ค. ์ค์ ์๋น์ค์ ๋ณด์ฌ์ฃผ๊ฑฐ๋ ํ์ฉํ ๋ฐ์ดํฐ๊ฐ ์๋ db์ ์ก์ ์ ๊ฐํ ๋ ๋ค ๋ก๊ทธ๋ฅผ ๋จ๊ธด๋ค. ๊ทธ๋์ผ ๋์ค์ ํธํ๋ค. ์์ปค๋ฅผ ์์ฑํ๊ฑฐ๋ ์ฌ์ฉํ ๋์๋ ๋ก๊ทธ๋ฅผ ๋จ๊ธฐ๋๊ฒ ์ข๋ค. ์ธ์ ๋์ด๋ฌ๊ณ , ์ธ์ ์ฌ์ฉํ๋์ง๋ฅผ ๋จ๊ธฐ๋ฉด ์์ปค์์ ์๊ธด ์ค๋ฅ์ธ์ง ๊ธ๋ฐฉ ํ์ธ ํ ์ ์์ ๊ฒ์ด๋ค. ์๋ฒ๋จ์์ ์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ๋์๋ ๋ฌด์กฐ๊ฑด, ๋ฌด์กฑ๊ถ ๋ก๊ทธ๋ฅผ ๋จ๊ธฐ์. ๋ถ๋ชจ try-catch๋จ์์ error๋ฅผ ์ก๋๊ฑด ๋งํด๋ญํด 0์์์ด๋ค.
access ๋ก๊ทธ๋ฅผ ๋จ๊ธฐ๋ ๊ฒ๋ ์ค์ํ๋ค. ํต๊ณ์ฉ์ผ๋ก๋ ์ฌ์ฉ๋ ์ ๋ ์๊ณ , ์ธ์ ๋๊ฐ ์๋ค ๊ฐ๋์ง ๊ธฐ๋กํ๋๊ฑด ๊ธฐ๋ณธ์ค์ ๊ธฐ๋ณธ์ด๋ค. ์ด๋ ip๊น์ง ๊ธฐ๋กํ๋๊ฒ ์ข๋ค. ์ด ์ธ์๋ ์๋น์ค ์ ์ฑ , ํ์ฌ ํ์ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ๋ก๊ทธ์ ๋ฒ์๋ ๋ฌด๊ถ๋ฌด์งํ๊ฒ ์ปค์ง์๋ ์์์ง ์ ๋ ์๋ค. ๊ทธ๋ฌ๋ ํ์๋ ์ผํ์ง ๋ง๊ณ ๋ฉ๋ชจํ์. ๋ก๊ทธ๋ฅผ ๋จ๊ธธ ์ผ์ด์ค๋ฅผ ์ ๋ฆฌํ๊ณ ๋ณด๊ณ ํด ํผ๋๋ฐฑ์ ๋ฐ์. ์ชผ๋ ์ ์์ธ๋ฅผ ์์ง ๋ง์... (๋ํํ ํ๋ ๋ง์)
์ ๋ฆฌํ์๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ํฉ์ ๋ก๊ทธ๋ฅผ ๋จ๊ธด๋ค. (๋ ์์ ์ ์์...)
- db query sql
- ๋ถ๋ชจ try-catch ๋จ์ error
- login ๋๋ access
- shell script history
- else action history
๋ก๊ทธ๋ ๋ฌด์์ ์ด๋ป๊ฒ ๋ชจ์๊น?
๋ก๊ทธ์ ์ ์์์ ๋์๋ฏ์ด [์ธ์ ์ด๋ค ์ ์ ๊ฐ ์ด๋ค ํ๋์ ํ๋๊ฐ] ์ฆ, ๋ก๊ทธ๋ ์ธ ๊ฐ์ง ๋ฐ์ดํฐ๋ฅผ ๊ผญ ์ ์ฅํด์ผ ์๋ฏธ์๋ ๋ฐ์ดํฐ์ด๋ค.
- datetime
- who
- action
- +โบ environment (ํ๋ซํผ, ๊ธฐ๊ธฐ๋ช , os ๋ฑ๋ฑ)
datetime ์ธ์
datetime์ ๋ง ๊ทธ๋๋ก, date(๋ ์ง)์ time(์๊ฐ)์ ํจ๊ป ๋จ๊ธฐ๋ฉด ๋๋ค. ๋๋ถ๋ถ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ํ๋ค.
who ๋๊ฐ ์์ฒญ์ ํด์ ์ก์ ์ ์ทจํ ๊ฒ์ธ๊ฐ
๋๊ฐ ์์ฒญ์ ํ์ง ์๊ธฐ ์ํด์ ๊ฐ๊ฐ์ request์ ์์ด๋๋ฅผ ๋ถ์ฌํด์ผํ๋ค. ๋ง๋ฅ ๋๋ค์ด ์๋๋ผ, ์ด๋ค ์ฌ๋์ด ์ด๋ค ํ๋์ ํ๋์ง ๋ก๋๋งต์ด ์ญ ๊ทธ๋ ค์ง๋๋ก, ์ถ์ ์ด ๊ฐ๋ฅํ๋๋ก ํด์ผํ๋ค. ๋ณดํต ์น ์๋น์ค์ ๊ฒฝ์ฐ ๋ก๊ทธ์ธ ์์ด๋๋ฅผ ๋ง๋จธ๋ฆฌ์ ๋จ๊ธฐ๊ฑฐ๋, ์ธ์ ์์ด๋๋ฅผ ๋จ๊ธฐ๊ธฐ๋ ํ๋ค. ๋ฐฉ๋ฒ์ ์๋ ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํ์๐ค
์ฐธ๊ณ CLS - Node.js ์ ํ๋ฆฌ์ผ์ด์ ์์ Request ID ์ถ์ ํ๊ธฐ
action ์ด๋ค ํ๋์ ํ๋๊ฐ
action์ ๋ง๊ทธ๋๋ก ์๋ฒ๊ฐ ํ ์ก์ ์ ๋จ๊ธฐ๋ฉด ๋๋ค. ์ ํ ์คํธ์ฉ ๋ก๊ทธ ์ฌ์ง๊ณผ ๊ฐ์ด sql์ ๋จ๊ธฐ๊ฑฐ๋, error ๋ด์ฉ ๋๋ 'try to access blah blah...'๋ฅผ ๋จ๊ธธ ์ ์๋ค. ์๋๋ฉด ํ์ ๊ฐ๊ณตํ ์ ์๋๋ก ํน์ ๊ท์น์ ๋ง๊ฒ string์ ๋จ๊ธฐ๊ฑฐ๋. ์๋ฌดํผ ํต์ฌ ๋ด์ฉ์ ๋ด์ผ๋ฉด ๋๋ค.
์๋ผ์ค ์ํ
4๋ฒ ์๋ผ์ค ์ํ๋ ์ฌ๋ด ๊ท์ ์ ๋ฐ๋ฅด์. ๋๊ฐ์ ๊ฒฝ์ฐ ๋ก๊ทธ๊ฐ ๋๋ฌด ๊ธธ์ด์ง๋๊ฑธ ๋ฐฉ์งํ๊ธฐ ์ํด ์๋ฒ๋จ์ ์๋ฌ๋ ํ๊ฒฝ ์ ๋ณด๋ฅผ ์ ์ฅํ์ง ์๊ณ ์๋ค. ํ๊ฒฝ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ๊ฒฝ์ฐ๋ ํ๋ก ํธ์์ ๋ฒ๊ทธ ๋ฆฌํฌํธ๋ฅผ ๋ณด๋ผ๋ ์ ์ฅํ ์์ ์ด๋ค. ์๋ฅผ ๋ค์ด ์ฌ๋ด ํ๋ก ํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๋, ์ฌ์ฉ์ ์์ด๋์ ๊ธฐ๊ธฐ ์ ๋ณด, ํ๊ฒฝ ์ ๋ณด ๋ฑ์ ๊ฐ์ด ๋๊ฒจ์ค๋ค๋๊ฐ, ๋ฒ์ ์ค๋ฅ๊ฐ ๋ ํ๋ ์์ํฌ๋ฅผ ์คํํ์ง ๋ชป ํ ๋ ๋ฑ๋ฑ์ด ์๋ค. (์๊ฐํด ๋ณด๋ ๋จ์ ์ ๋ณด๋ฟ๋ง ์๋๋ผ ๋ฒ์ ์ ๋ณด๋ ํจ๊ป ๋ค ์ฒดํนํด์ผ๊ฒ ๋ค. ๋์ค์ ์๋น์ค ์คํ์ ํ ๋์๋ ์ข์ ์๋ฃ๊ฐ ๋ ๋ฏ)
๋์ ์ฝ์ง ์ด์ผ๊ธฐ
๋ก๊ทธ๋ ์ ๋ง ์ค์ํ๋ค. ์์ ๋งํ๋ ์ค๋ฅ๋ ์๋ฐฉ๋ ์ค์ํ์ง๋ง ์์ต์ ์ผ๋งํผ ๋นจ๋ฆฌํ ์ ์๋๋๊ฐ ๋์ ๋ณด์ด๋ ์์ ์ด๊ธฐ ๋๋ฌธ์ ๋ก๊ทธ๋ ์ ๋ง ์ฉ์ด์๋ง ์ค์ํ๋ค.
๋์๊ฒ ์์ ์ ์๋ ๊ธฐ์ต์ด ์๋ค. ์ ์ฌํ์ง ๋ฐ๋ ๋ ์๋์์๋ ์ด์ผ๊ธฐ์ด๋ค. ํ์ฌ ์๋น์ค์ ๋ํผ๋ฐ์ค์ฉ ํ๋ก์ ํธ์๋๋ฐ, ๋๋ db์ค๊ณ์ ์๋ฒ, ๋ฐฐํฌ๋ฅผ ๋ด๋นํ๋ค. ๊ธฐ๋ฅ ๊ตฌํ๋ ์ ๋๊ณ , ํ์๋ค๋ผ๋ฆฌ qaํ์๋ ๋ถ๋ช ๋ฌธ์ ์์ด ์ ๋์๊ฐ๊ธฐ ๋๋ฌธ์ ํ์๋ฆ ๋๊ณ ์์๋ค. ๋, ๋ก๊ทธ๋ ๋๋ฆ morgan์ฌ์ฉํด ๋ถ์์ผ๋ ๋๊ฑฐ ์๋๊ฐ?๋ผ๋ ์ํํ ์๊ฐ์ ํ์๋ค.
์๋๋ ๋ค๋ฅผ๊น ๋ฌธ์ ๋ ์ญ์ qa๋ ์๋์ค๊ณ ์ค์ํ ๋ ๋์๋ค. (์ ๋ฐ qa๋ ๋์๋ฌ๋ผ๊ตฌ ใ ใ ) ์ธ๋ถ ๋ฏธํ ์์ ํด๋น ํ๋ก์ ํธ๋ฅผ ์์ฐํ๋ ๋์ค ์๋ฒ๊ฐ ๋๊ฐ๋ฒ๋ฆฐ ๊ฒ์ด๋ค... ๋น์์ ๋ ํด๊ฐ์ค์ด๋ผ ๋ฐ๋ก ํ์ธํ์ง ๋ชป ํ๊ณ , ์ ๋ ์ด ๋์ด์์ผ '๋งํ๋ค'๋ฅผ ๋๊ผ๋ค. ํ์ฌ ๋ฉ์ ์ ๋ก ์ฅ๋ฌธ์ ์ฌ๊ณผ ๋ฉ์์ง๋ฅผ ๋จ๊ธฐ๊ณ ์ด๋ป๊ฒ๋ ์์ตํ๋ ค ๊ธ๊ธํ๋ ๊ทธ๋ ์ฌ์ ์...๐จ ๋ก๊ทธ๋ฅผ ์ฐพ๊ณ ์ฐพ์๋ ๋ณ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ์์๋ค. ์น์๋ฒ ๋ก๊ทธ๋ฅผ ์ฐพ์๋ ๋ณ ๋ฌธ์ ์์ด ๋์๊ฐ๋ค. ์์ ์ผ๋ฏ์ด 500์๋ฌ๋ง ์ก๋ ์์ฑํ ๋ก๊ทธ์๊ธฐ ๋๋ฌธ์ ๋ก๊ทธ ํ์ผ์ ๋จ๊ฒจ๋ ๋ง์งฑ ๋๋ฃจ๋ฌต์ธ ๊ฒ... ๋ญ์ผ ๋ญ์ผ ๋ฉ๋ถ์ํ ๋น ์ ธ, ๋ก์ปฌ์ ๋ค์ ์๋ฒ๋ฅผ ๋์ ํ์ฐธ์ ์ด๊ฒ์ ๊ฒํด์์ผ ์ค๋ฅ ์์ธ์ ๋ฐ๊ฒฌํ๋ค.
๊ฐ์ฌํ๊ฒ๋ ์์ฌ๋ถ๋ค๊ณผ ๋ํ๋๊ป์ ์ ์ ์ธ ๋์ ์๋ชป์ ๋๊ทธ๋ฝ๊ฒ ๋ฐ์์ฃผ์ ์ ํฐ ๋ฌธ์ ์์ด ๋์ด๊ฐ์ง๋ง, ๊ฐ์ธ์ ์ผ๋ก ํ์๋ถ๊ณผ ๋ํ๋๊ป ์ฃ์ก์ค๋ฌ์ ๋ค. ๋ถํ์ค ๋คํ์ผ๋ก ์-์ฃผ ์ค์ํ ๋ฏธํ ์ด ์๋๋ผ ๋คํ์ด์์ง, ํฌ์์ฌ ๋ฏธํ ์ด์๋ค๋ฉด ์ ๋ง... ์์ฐํ๋ค.
์ค์๋ฅผ ๊ณ๊ธฐ๋ก ๋ ๋ฐ์ ํ๋ฉด ๋๋๊ฑฐ๋๊น... ๋ฉ๋ถ์ํ์์๋ ๋ก๊ทธ์ ๋ก์ปฌ ์๋ฒ๋ฅผ ๋๋ฆฌ๋ฉฐ ์ฐพ์๋ธ ๋ด ๊ฒฝํ์ ๋ฐํ์ผ๋ก ๋ค์์ ์ ๊ทธ๋ฌ๋ฉด ๋๋ค. ์ด๋ฐ ๋ฐ๋ณด์ง์ ๋ํ์ด ํ์ง๋ง์๋ ๋ง์์ผ๋ก ๋ธ๋ก๊ทธ์ ์ ๋ฆฌํด๋ณด์๋ค.
์๋ฌดํผ ๋ก๊ทธ๋ ์ค์ํ๋ค.
๋!
'๐์ฝ๋ฉ ๊ณต๋ถ > ์ฝ๋ฉ๊ณต๋ถ ์ด๋ชจ์ ๋ชจ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Nest.js ) Circular dependency ๋ฒ์ญ (0) | 2023.04.16 |
---|---|
VScode ) Beautify ์ค์ (0) | 2022.01.15 |
Api ๋ฌธ์ ์๋ํ์ ๋ํ ๊ฐ์ธ์ ์ธ ๋ ธ๋ ฅ๊ณผ ํ๊ธฐ... (0) | 2021.12.26 |
NCP) nCloud ๋ค์ด๋ฒ API Signature Key ์์ฑ (0) | 2021.10.09 |
Server ) RESTful API, ์์ฃผ ์ฌ์ฉํ๋ Status code ์ ๋ฆฌ ๋ฐ ์์ (0) | 2021.10.04 |