45분
로깅 시스템 구현
로깅+캐싱 시스템 구축 - 주간 프로젝트
로깅 시스템 구현
Python 고급: 제너레이터, 데코레이터, 컨텍스트 매니저, Type Hints > 로깅+캐싱 시스템 구축 - 주간 프로젝트
학습 목표
@log 데코레이터를 구현한다 제너레이터 기반 LogBuffer를 만든다 log_context 컨텍스트 매니저를 구현한다
Week 1에서 배운 제너레이터, 데코레이터, 컨텍스트 매니저를 종합하여 로깅 시스템을 구현합니다.
구현 순서
- LogLevel - IntEnum으로 로그 레벨 정의
- LogEntry - dataclass로 로그 엔트리 정의
- LogBuffer - 제너레이터로 버퍼 플러시
- @log 데코레이터 - ParamSpec으로 시그니처 보존
- log_context - 스레드 로컬로 컨텍스트 관리
핵심 포인트
- 제너레이터: LogBuffer.flush()에서 yield로 메모리 효율적 처리
- 데코레이터: @log에서 functools.wraps, ParamSpec 사용
- 컨텍스트 매니저: @contextmanager로 log_context 구현
- Type Hints: 모든 함수/클래스에 타입 명시
에디터 로딩 중...
정답 보기
에디터 로딩 중...