Loggur
시각적으로 풍부한 Rust 로깅 크레이트입니다. tracing 생태계와 통합되어 구조화된 로깅과 진행 상태 표시 기능을 제공합니다.
특징
- tracing 생태계와 완벽하게 통합
- tracing-indicatif를 활용한 자동 진행 상태 표시
- 다양한 로그 레벨 지원 (TRACE, DEBUG, INFO, WARN, ERROR)
- 컬러 및 스타일링된 로그 출력
- 이모지 지원
- 파일 로깅 지원
- 구조화된 로깅 (필드 기반)
- span 기반 컨텍스트 추적
- 시간 측정 및 표시 기능
설치 방법
Cargo.toml 파일에 다음 의존성을 추가하세요:
[]
= "0.1.0"
또는 cargo 명령어를 사용하세요:
기본 사용법
로거 초기화 및 기본 로깅
use ;
// 기본 로거 초기화
init;
// 다양한 로그 레벨 사용
debug!;
info!;
warn!;
error!;
// 구조화된 로깅
info!;
파일 로깅
use ;
// 파일 로깅 초기화
let _guard = init_with_file;
// 콘솔과 파일 모두에 로깅
info!;
error!;
span 및 진행 상태 표시
use ;
// 진행 상태 표시 기능 초기화
init_with_progress;
// 진행 상태 표시 span 생성
let total_items = 100;
let span = progress_span!;
let _enter = span.enter;
for i in 0..total_items
시간 측정
use ;
// 로거 초기화
init;
// 코드 블록 실행 시간 측정
time_it!;
고급 사용법
모든 기능 통합 초기화
use ;
// 콘솔 로깅, 파일 로깅, 진행 상태 표시 모두 초기화
let _guard = init_full;
환경 변수를 통한 로그 레벨 제어
RUST_LOG 환경 변수를 설정하여 로그 레벨을 제어할 수 있습니다:
# 전체 로그 레벨 설정
RUST_LOG=info
# 특정 모듈의 로그 레벨 설정
RUST_LOG=debug,my_module=trace
예제
더 많은 예제는 examples 디렉토리에서 확인할 수 있습니다:
- basic_usage.rs - 기본 로깅 예제
- file_logging.rs - 파일 로깅 예제
- progress_bars.rs - 진행 상태 표시 예제
- tracing_indicatif_demo.rs - tracing-indicatif 통합 예제
라이센스
MIT