<aside>

</aside>

πŸ‘‹ 챕터 μ†Œκ°œ

μ•ˆλ…•ν•˜μ„Έμš”! μ§€κΈˆκΉŒμ§€ μš°λ¦¬λŠ” μ‚¬λžŒμ΄ 읽기 쒋은 둜그λ₯Ό λ§Œλ“œλŠ” 데 μ§‘μ€‘ν•΄μ™”μŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ‹€μ œ 운영 ν™˜κ²½μ—μ„œλŠ” ν•˜λ£¨μ— 수백만, 수천만 건의 λ‘œκ·Έκ°€ μŸμ•„μ Έμš”. 이 λ°©λŒ€ν•œ μ–‘μ˜ 둜그λ₯Ό μ‚¬λžŒμ΄ 일일이 눈으둜 읽고 λΆ„μ„ν•˜λŠ” 것은 λΆˆκ°€λŠ₯에 κ°€κΉμŠ΅λ‹ˆλ‹€. πŸ•΅οΈβž‘οΈπŸ’»

이번 μ±•ν„°μ—μ„œλŠ” 둜그의 μ΅œμ’… μ†ŒλΉ„μžκ°€ 'μ‚¬λžŒ'이 μ•„λ‹Œ '기계'κ°€ λ˜λŠ” 세상을 λ§Œλ‚˜λ΄…λ‹ˆλ‹€. 둜그 뢄석 μ‹œμŠ€ν…œμ΄ κ°€μž₯ μ’‹μ•„ν•˜λŠ” μŒμ‹μΈ JSON ν˜•μ‹μœΌλ‘œ 둜그λ₯Ό λ‚¨κΈ°λŠ” 방법을 배울 κ±°μ˜ˆμš”. logger.add()에 단 ν•˜λ‚˜μ˜ νŒŒλΌλ―Έν„°, serialize=Trueλ₯Ό μΆ”κ°€ν•˜λŠ” κ²ƒλ§ŒμœΌλ‘œ μ—¬λŸ¬λΆ„μ˜ λ‘œκ·Έκ°€ μ–Όλ§ˆλ‚˜ λ˜‘λ˜‘ν•΄μ§ˆ 수 μžˆλŠ”μ§€ 직접 확인해 λ³΄μ„Έμš”!


🎯 챕터 λͺ©ν‘œ

이번 챕터λ₯Ό 마치면 μ—¬λŸ¬λΆ„μ€ λ‹€μŒμ„ ν•  수 있게 될 κ±°μ˜ˆμš”!


πŸ’» 이번 μ±•ν„°μ—μ„œ μ‚¬μš©λ˜λŠ” 전체 μ½”λ“œ 및 ν”„λ‘œμ νŠΈ ꡬ쑰

structured_logging.py νŒŒμΌμ„ μƒˆλ‘œ μΆ”κ°€ν•˜μ—¬ μ‹€μŠ΅ν•©λ‹ˆλ‹€. μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜λ©΄, λͺ¨λ“  λ‘œκ·Έκ°€ ν•œ 쀄씩 JSON ν˜•μ‹μœΌλ‘œ κΉ”λ”ν•˜κ²Œ μ €μž₯된 structured_log.json 파일이 μƒμ„±λ©λ‹ˆλ‹€.

πŸ“– κ°•μ˜ λ‚΄μš©

πŸ€” ꡬ쑰화 λ‘œκΉ…, μ™œ ν•„μš”ν• κΉŒμš”?

μ‚¬λžŒμ˜ λˆˆμ—λŠ” 일반 ν…μŠ€νŠΈ λ‘œκ·Έκ°€ 읽기 νŽΈν•˜μ§€λ§Œ, κΈ°κ³„μ—κ²ŒλŠ” κ·Έμ € 의미 μ—†λŠ” λ¬Έμžμ—΄μ˜ λ‚˜μ—΄μΌ λΏμ΄μ—μš”. 예λ₯Ό λ“€μ–΄, "user-john의 κ²°μ œκ°€ μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€" λΌλŠ” λ‘œκ·Έμ—μ„œ 'user-john'μ΄λΌλŠ” μ‚¬μš©μž μ•„μ΄λ””λ§Œ 뽑아내렀면 λ³΅μž‘ν•œ λ¬Έμžμ—΄ 처리(νŒŒμ‹±)κ°€ ν•„μš”ν•©λ‹ˆλ‹€.

***ꡬ쑰화 λ‘œκΉ…(Structured Logging)***은 λͺ¨λ“  둜그λ₯Ό key-value ν˜•νƒœ, 즉 JSON처럼 λͺ…ν™•ν•œ ꡬ쑰λ₯Ό κ°€μ§„ λ°μ΄ν„°λ‘œ κΈ°λ‘ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€. μ΄λ ‡κ²Œ ν•˜λ©΄ 기계(둜그 뢄석 μ‹œμŠ€ν…œ)κ°€ 각 둜그의 속성을 μ•„μ£Ό μ‰½κ²Œ μ΄ν•΄ν•˜κ³ , κ°•λ ₯ν•œ 검색과 뢄석, μ‹œκ°ν™”λ₯Ό μˆ˜ν–‰ν•  수 있게 λ©λ‹ˆλ‹€.