sonamu.config.ts์ logging ์ต์
์์ ์ปค์คํ
sink์ filter๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
Sink๋?
Sink๋ ๋ก๊ทธ๊ฐ ์ต์ข ์ ์ผ๋ก ์ถ๋ ฅ๋๋ ๊ณณ์ ๋๋ค. ์์:- ์ฝ์ (ํฐ๋ฏธ๋)
- ํ์ผ
- ์ธ๋ถ ๋ก๊น ์๋น์ค (Sentry, Datadog ๋ฑ)
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
Sink๊ฐ ํ์ํ ์ด์
๋ก๊ทธ๋ ๋ชฉ์ ์ ๋ฐ๋ผ ๋ค๋ฅธ ๊ณณ์ ๊ธฐ๋ก๋์ด์ผ ํฉ๋๋ค: 1. ์ค์๊ฐ ๋ชจ๋ํฐ๋ง (์ฝ์)์ฌ๋ฌ Sink ๋์ ์ฌ์ฉ
ํ ๋ก๊ทธ๋ฅผ ์ฌ๋ฌ Sink์ ๋์์ ๋ณด๋ผ ์ ์์ต๋๋ค:- ์ค์๊ฐ ํ์ธ (console)
- ์๊ตฌ ๋ณด๊ด (file)
- ์ฆ์ ์๋ฆผ (sentry)
Filter๋?
Filter๋ ๋ก๊ทธ๋ฅผ ์ ํ์ ์ผ๋ก ์ถ๋ ฅํ๊ธฐ ์ํ ์กฐ๊ฑด์ ๋๋ค. ์์:- ํน์ ์นดํ ๊ณ ๋ฆฌ๋ง
- ํน์ ๋ ๋ฒจ ์ด์๋ง
- ํน์ URL ํจํด๋ง
- ์๊ฐ๋๋ณ๋ก
Filter๊ฐ ํ์ํ ์ด์
๋ชจ๋ ๋ก๊ทธ๋ฅผ ๋ค ๊ธฐ๋กํ๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค: 1. ์ฑ๋ฅ ์ ํFilter ์ฌ์ฉ ์์
Sink vs Filter ์ฐจ์ด์
๋ ๊ฐ๋ ์ ์๋ก ๋ค๋ฅธ ๋ชฉ์ ์ ๊ฐ์ง๋๋ค:ํจ๊ป ์ฌ์ฉํ๊ธฐ
์ธ์ ์ฌ์ฉํ๋?
Sink๋ฅผ ์ถ๊ฐํ ๋
1. ์๋ก์ด ์ถ๋ ฅ ๋์์ด ํ์ํ ๋Filter๋ฅผ ์ถ๊ฐํ ๋
1. ํน์ ์กฐ๊ฑด์ ๋ก๊ทธ๋ง ํ์ํ ๋Sinks ์ค์ ์์ธ
sinks ์ต์
logging.sinks์ ์ปค์คํ
Sink๋ฅผ ์ถ๊ฐํฉ๋๋ค.
ํ์
: Record<string, Sink>
์ฝ์ Sink
ํฐ๋ฏธ๋์ ๋ก๊ทธ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.ํ์ผ Sink
ํ์ผ์ ๋ก๊ทธ๋ฅผ ์ ์ฅํฉ๋๋ค.์คํธ๋ฆผ Sink
Node.js ์คํธ๋ฆผ์ ๋ก๊ทธ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.์ปค์คํ Sink
์ง์ Sink๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค.Filters ์ค์
filters ์ต์
๋ก๊ทธ๋ฅผ ์ ํ์ ์ผ๋ก ํํฐ๋งํฉ๋๋ค. ํ์ :Record<string, FilterLike>
URL ๊ธฐ๋ฐ ํํฐ
๋ ๋ฒจ ๊ธฐ๋ฐ ํํฐ
์๊ฐ ๊ธฐ๋ฐ ํํฐ
ํ๋กํผํฐ ๊ธฐ๋ฐ ํํฐ
์ค์ ์์
๊ฐ๋ฐ vs ํ๋ก๋์
๋ค์ค Sink & Filter
์ธ๋ถ ์๋น์ค ํตํฉ
URL ํจํด๋ณ ๋ก๊น
LogRecord ๊ตฌ์กฐ
Filter์ ์ปค์คํ Sink์์ ์ฌ์ฉํ๋LogRecord ํ์
:
category: ๋ก๊ทธ ์นดํ ๊ณ ๋ฆฌ (์:["fastify"])level: ๋ก๊ทธ ๋ ๋ฒจ ("debug"|"info"|"warning"|"error"|"fatal")message: ๋ก๊ทธ ๋ฉ์์ง ๋ฐฐ์ดtimestamp: ๋ก๊ทธ ๋ฐ์ ์๊ฐproperties: ์ถ๊ฐ ์ ๋ณด (Fastify์ ๊ฒฝ์ฐreq,res๋ฑ)
์ฃผ์์ฌํญ
1. Sink ์ด๋ฆ ์ถฉ๋
2. Filter ์ฑ๋ฅ
3. ๋น๋๊ธฐ Sink
4. Filter๋ ๋๊ธฐ๋ง
๋ค์ ๋จ๊ณ
์นดํ ๊ณ ๋ฆฌ ๋ก๊น
์นดํ
๊ณ ๋ฆฌ ์์คํ
์ผ๋ก ๋ก๊ทธ๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ๊ด๋ฆฌํ์ธ์
Fastify ๋ก๊น
HTTP ์์ฒญ/์๋ต ๋ก๊น
์ ์ปค์คํฐ๋ง์ด์งํ์ธ์
LogTape ์ค์
๊ธฐ๋ณธ ๋ก๊น
์ค์ ๊ณผ ๊ฐ๋
์ ํ์ตํ์ธ์
LogTape ๊ณต์ ๋ฌธ์
LogTape์ ๊ณ ๊ธ ๊ธฐ๋ฅ๊ณผ API๋ฅผ ํ์ธํ์ธ์