| Crates.io | loggur |
| lib.rs | loggur |
| version | 0.1.0 |
| created_at | 2025-04-12 01:31:47.769483+00 |
| updated_at | 2025-04-12 01:31:47.769483+00 |
| description | 로깅 크레이트 |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1630553 |
| size | 1,141,176 |
시각적으로 풍부한 Rust 로깅 크레이트입니다. tracing 생태계와 통합되어 구조화된 로깅과 진행 상태 표시 기능을 제공합니다.
Cargo.toml 파일에 다음 의존성을 추가하세요:
[dependencies]
loggur = "0.1.0"
또는 cargo 명령어를 사용하세요:
cargo add loggur
use loggur::{Loggur, Level, info, debug, warn, error};
// 기본 로거 초기화
Loggur::init(Level::DEBUG);
// 다양한 로그 레벨 사용
debug!("디버그 메시지입니다");
info!("정보 메시지입니다");
warn!("경고 메시지입니다");
error!("오류 메시지입니다");
// 구조화된 로깅
info!(user = "ferris", action = "login", "사용자가 로그인했습니다");
use loggur::{Loggur, Level, info, error};
// 파일 로깅 초기화
let _guard = Loggur::init_with_file(Level::INFO, "./app.log");
// 콘솔과 파일 모두에 로깅
info!("이 메시지는 콘솔과 파일 모두에 기록됩니다");
error!("이 오류는 콘솔과 파일 모두에 기록됩니다");
use loggur::{Loggur, Level, info, progress_span, progress_inc};
// 진행 상태 표시 기능 초기화
Loggur::init_with_progress(Level::INFO);
// 진행 상태 표시 span 생성
let total_items = 100;
let span = progress_span!("작업 진행", total_items);
let _enter = span.enter();
for i in 0..total_items {
// 작업 수행
// ...
// 진행 상태 업데이트
progress_inc!(1);
if i % 10 == 0 {
info!("진행 중: {}/{}", i, total_items);
}
}
use loggur::{Loggur, Level, info, time_it};
// 로거 초기화
Loggur::init(Level::INFO);
// 코드 블록 실행 시간 측정
time_it!("복잡한 계산", {
// 복잡한 계산 수행
// ...
});
use loggur::{Loggur, Level};
// 콘솔 로깅, 파일 로깅, 진행 상태 표시 모두 초기화
let _guard = Loggur::init_full(Level::DEBUG, Some("./app.log"));
RUST_LOG 환경 변수를 설정하여 로그 레벨을 제어할 수 있습니다:
# 전체 로그 레벨 설정
RUST_LOG=info cargo run
# 특정 모듈의 로그 레벨 설정
RUST_LOG=debug,my_module=trace cargo run
더 많은 예제는 examples 디렉토리에서 확인할 수 있습니다:
MIT