<aside>
</aside>
μλ νμΈμ! μ§λ μκ° λ°°μ΄ 'νμ (Rotation)' κΈ°λ₯ λλΆμ, μ°λ¦¬λ μ΄μ λ‘κ·Έ νμΌμ κ°λΉν μ μλ ν¬κΈ°λ‘ μκ² λλ μ μκ² λμμ΄μ. νμ§λ§ νμ λ λ°±μ νμΌλ€μ΄ κ³μν΄μ μμΈλ€λ©΄, κ²°κ΅ λμ€ν¬κ° κ°λ μ°¨λ λ¬Έμ λ νΌν μ μκ² μ£ ? λ§μΉ μ²μλ νλλ° μ°λ κΈ°λ΄ν¬λ₯Ό λ²λ¦¬μ§ μκ³ κ³μ λͺ¨μλλ κ²κ³Ό κ°μμ! ποΈ
μ΄λ² μ±ν°μμλ loguruμ 'μλ μ 리' κΈ°λ₯μ λ°°μλ΄
λλ€. μ€λλ λ‘κ·Έλ μμμ μμ (Retention)νκ³ , 보κ΄ν λ‘κ·Έλ λΆνΌλ₯Ό μ€μ¬ **μμΆ(Compression)**νλ λ°©λ²μ ν΅ν΄, μ°λ¦¬μ λ‘κΉ
μμ€ν
μ ν λ¨κ³ λ μ
κ·Έλ μ΄λνμ¬ μμ ν μλν μμ€ν
μΌλ‘ λ§λ€μ΄ λ³΄κ² μ΅λλ€.
μ΄λ² μ±ν°λ₯Ό λ§μΉλ©΄ μ¬λ¬λΆμ λ€μμ ν μ μκ² λ κ±°μμ!
retention νλΌλ―Έν°λ₯Ό μ¬μ©νμ¬ μ€λλ λ‘κ·Έ νμΌμ΄ μλμΌλ‘ μμ λλλ‘ μ€μ ν μ μμ΅λλ€.compression νλΌλ―Έν°λ₯Ό μ¬μ©νμ¬ νμ λ λ‘κ·Έ νμΌμ μλμΌλ‘ μμΆνμ¬ λμ€ν¬ 곡κ°μ μ μ½ν μ μμ΅λλ€.rotation, retention, compressionμ ν¨κ» μ¬μ©νμ¬ κ²¬κ³ νκ³ μλνλ νμΌ λ‘κΉ
μμ€ν
μ ꡬμΆν μ μμ΅λλ€.log_management.py νμΌμ μλ‘ μΆκ°νμ¬ μ€μ΅ν©λλ€. μ΄ μ½λλ μ§§μ μκ° λμ λ‘κ·Έλ₯Ό κ³μ κΈ°λ‘νλ©°, νμ λ νμΌμ΄ μμΆλκ³ , μ€μ λ κ°μλ₯Ό λμ΄μμ κ°μ₯ μ€λλ νμΌμ΄ μμ λλ μ κ³Όμ μ μμ°ν©λλ€.
νλ‘μ νΈ κ΅¬μ‘°
loguru-course/
βββ venv/
βββ ... (μ΄μ κ°μ νμΌλ€)
βββ log_management.py <- μλ‘ μΆκ°λ νμΌ!
βββ managed_log.log <- μ½λ μ€ν ν μμ± λ° κ΄λ¦¬λ νμΌλ€!
βββ managed_log. ... .zip
βββ ...
log_management.py μ 체 μ½λ
# log_management.py
from loguru import logger
import time
# μ΄μ λ‘κ·Έ νΈλ€λ¬κ° μλ€λ©΄ μ κ±°
logger.remove()
# νμ , 보쑴, μμΆμ λͺ¨λ μ€μ ν νμΌ μ±ν¬λ₯Ό μΆκ°ν©λλ€.
logger.add(
"managed_log.log",
rotation="1 second", # μ€μ΅μ μν΄ 1μ΄λ§λ€ νμΌμ νμ μν΅λλ€.
retention=3, # μ΅μ 3κ°μ λ°±μ
νμΌλ§ μ μ§ν©λλ€.
compression="zip" # νμ λ νμΌμ zip νμμΌλ‘ μμΆν©λλ€.
)
print("--- μλ λ‘κ·Έ κ΄λ¦¬(νμ , 보쑴, μμΆ) ν
μ€νΈ μμ ---")
print("10μ΄ λμ 0.5μ΄λ§λ€ λ‘κ·Έλ₯Ό κΈ°λ‘ν©λλ€...")
print("νλ‘μ νΈ ν΄λμμ 'managed_log'λ‘ μμνλ νμΌλ€μ΄ μ΄λ»κ² λ³νλμ§ κ΄μ°°νμΈμ.")
for i in range(20):
logger.info(f"{i+1}λ²μ§Έ κΈ°λ‘μ
λλ€. μ΄ λ‘κ·Έλ μλμΌλ‘ κ΄λ¦¬λ©λλ€.")
time.sleep(0.5)
print("--- ν
μ€νΈ μ’
λ£ ---")
print("κ°μ₯ μ€λλ λ‘κ·Έ νμΌμ μλμΌλ‘ μμ λκ³ ,")
print("νμ λ νμΌλ€μ '.zip'μΌλ‘ μμΆλ κ²μ νμΈν μ μμ΅λλ€.")
rotationμ νλ₯ν κΈ°λ₯μ΄μ§λ§, κ·Έ μ체λ§μΌλ‘λ μμ ν ν΄κ²°μ±
μ΄ μλμμ. μκ°μ΄ μ§λλ©΄ μ°λ¦¬ νλ‘μ νΈ ν΄λλ μ΄λ κ² λ³ν κ±°μμ.