@logtape/fastify ํจํค์ง๋ฅผ ํตํด LogTape์ ํตํฉ๋์ด ์์ต๋๋ค.
HTTP ๋ก๊น ์ด ์ค์ํ ์ด์
HTTP ๋ก๊ทธ๋ ์น ์๋น์ค ์ด์์ ํต์ฌ์ ๋๋ค.1. ๋ฌธ์ ํด๊ฒฐ
์๋ฌ ์ถ์ :2. ์ฑ๋ฅ ๋ชจ๋ํฐ๋ง
๋๋ฆฐ ์์ฒญ ๋ฐ๊ฒฌ:3. ๋ณด์ ๋ชจ๋ํฐ๋ง
๋น์ ์์ ์ธ ์ ๊ทผ ๊ฐ์ง:4. ๋น์ฆ๋์ค ๋ถ์
์ฌ์ฉ ํจํด ๋ถ์:๋ฌด์์ ๋ก๊น ํด์ผ ํ๋?
ํ์ ๋ก๊น ํญ๋ชฉ
1. ์์ฒญ ์ ๋ณด- HTTP ๋ฉ์๋ (GET, POST, PUT, DELETE)
- URL ๊ฒฝ๋ก
- ํ์์คํฌํ
- ์ํ ์ฝ๋ (200, 404, 500)
- ์๋ต ์๊ฐ
- ์๋ฌ ๋ฉ์์ง
- ์คํ ํธ๋ ์ด์ค
๋ก๊น ํ๋ฉด ์ ๋๋ ๊ฒ
๋ณด์ ์ ๋ณด:๋ก๊ทธ ๋ ๋ฒจ ์ ํ
info - ์ ์ ์์ฒญ- 2xx, 3xx ์ํ ์ฝ๋
- ์ ์์ ์ธ ๋น์ฆ๋์ค ํ๋ฆ
- ๋๋ฆฐ ์๋ต (>1์ด)
- 4xx ์ํ ์ฝ๋ (ํด๋ผ์ด์ธํธ ์ค๋ฅ)
- Rate limiting
- 5xx ์ํ ์ฝ๋
- ์์ธ ๋ฐ์
- DB ์ฐ๊ฒฐ ์คํจ
์๋ต ์๊ฐ (responseTime) ํ์ฉ
responseTime์ API ์๋ต์ ๊ฑธ๋ฆฐ ์๊ฐ(๋ฐ๋ฆฌ์ด)์
๋๋ค.
์ฑ๋ฅ ๊ธฐ์ค
| ์๊ฐ | ํ๊ฐ | ์กฐ์น |
|---|---|---|
| < 100ms | ๋งค์ฐ ๋น ๋ฆ | ์ ์ง |
| 100-500ms | ์ ์ | ๋ชจ๋ํฐ๋ง |
| 500ms-1s | ๋๋ฆผ | ์ต์ ํ ๊ฒํ |
| > 1s | ๋งค์ฐ ๋๋ฆผ | ์ฆ์ ์ต์ ํ |
์ฑ๋ฅ ๋ชจ๋ํฐ๋ง ์ค์
์ฑ๋ฅ ๋ถ์
์๋ ๋ก๊น
๋ณ๋ ์ค์ ์์ด HTTP ๋ก๊น ์ด ์๋์ผ๋ก ํ์ฑํ๋ฉ๋๋ค.- HTTP ๋ฉ์๋ (GET, POST, PUT, DELETE ๋ฑ)
- ์์ฒญ URL
- ์๋ต ์ฝ๋ (200, 404, 500 ๋ฑ)
- ์๋ต ์๊ฐ
- ์๋ฌ ์คํํธ๋ ์ด์ค (์๋ฌ ๋ฐ์ ์)
๊ธฐ๋ณธ ๋ก๊ทธ ํ์
๊ธฐ๋ณธ ๋์
1. ๋ก๊น ๋์
๊ธฐ๋ณธ์ ์ผ๋ก/api๋ก ์์ํ๋ ๊ฒฝ๋ก๋ง ๋ก๊น
ํฉ๋๋ค.
2. ๊ธฐ๋ณธ sink
Sonamu๋ ์๋์ผ๋ก"fastify-console" sink๋ฅผ ์์ฑํฉ๋๋ค.
ํน์ง:
- ์ฝ์ ์ถ๋ ฅ
- ์์ ํ์ (pretty formatter)
- HTTP ๋ฉ์๋์ ์๋ต ์ฝ๋ ํ์
- ํ์์คํฌํ, ์นดํ ๊ณ ๋ฆฌ ํ์
3. ๊ธฐ๋ณธ filter
"fastify-console" filter๊ฐ ์๋ ์์ฑ๋ฉ๋๋ค.
์กฐ๊ฑด:
- URL์ด
/api๋ก ์์ /api/healthcheck์ ์ธ
4. ๊ธฐ๋ณธ logger
fastifyCategory ์ปค์คํฐ๋ง์ด์ง
Fastify ๋ก๊น ์ ์ฌ์ฉํ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.LogRecord ํ๋กํผํฐ
Fastify ๋ก๊ทธ๋ ํน๋ณํ ํ๋กํผํฐ๋ฅผ ํฌํจํฉ๋๋ค.req ํ๋กํผํฐ
res ํ๋กํผํฐ
responseTime ํ๋กํผํฐ
์ปค์คํ Filter
URL ํจํด ํํฐ๋ง
์ํ ์ฝ๋ ํํฐ๋ง
๋๋ฆฐ ์์ฒญ ํํฐ๋ง
์ปค์คํ Formatter
๊ฐ๋จํ ํ์
์์ธ ํ์
JSON ํ์
์ค์ ์์
๊ฐ๋ฐ ํ๊ฒฝ ์ค์
ํ๋ก๋์ ์ค์
๊ฒฝ๋ก๋ณ ๋ก๊ทธ ๋ถ๋ฆฌ
๋๋ฆฐ ์์ฒญ ๋ชจ๋ํฐ๋ง
๋ก๊น ๋นํ์ฑํ
์ ์ฒด ๋นํ์ฑํ
Fastify ๋ก๊น ๋ง ๋นํ์ฑํ
ํน์ ๊ฒฝ๋ก ์ ์ธ
์ฃผ์์ฌํญ
1. req vs res ํ๋กํผํฐ
2. responseTime์ res์๋ง ์์
3. fastify-console ๋ฎ์ด์ฐ๊ธฐ ์ฃผ์
4. Fastify logger ์ต์ ์ถฉ๋
๋ค์ ๋จ๊ณ
์นดํ ๊ณ ๋ฆฌ ๋ก๊น
์นดํ
๊ณ ๋ฆฌ ์์คํ
์ผ๋ก ๋ก๊ทธ๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ๊ด๋ฆฌํ์ธ์
Sinks & Filters
์ปค์คํ
Sink์ Filter๋ก ๋ก๊ทธ ์ถ๋ ฅ์ ์ ์ดํ์ธ์
LogTape ์ค์
๊ธฐ๋ณธ ๋ก๊น
์ค์ ๊ณผ ๊ฐ๋
์ ํ์ตํ์ธ์
LogTape ๊ณต์ ๋ฌธ์
Fastify ํตํฉ์ ํฌํจํ ๊ณ ๊ธ ๊ธฐ๋ฅ์ ํ์ธํ์ธ์