Как регистрировать все в Rust или как регистрировать более одной вещи?

#logging #rust

Вопрос:

Я не смог найти простую информацию о том, как правильно войти в Rust. Я делаю вот так:

 use log::{debug, error, info, warn};

fn main() {
    env_logger::init();
    info!("test info");
    error!("test error");
}
 

Как активировать как информацию, так и ошибку?

 RUST_LOG="info,error" cargo run
 

не активирует оба (ни один из них не активируется), но

 RUST_LOG="info" cargo run
 

работает.

Кроме того, как активировать все?

Комментарии:

1. RUST_LOG="TRACE" cargo run giphy.com/gifs/movie-film-gary-oldman-Ca7gy6EZqdH32

2. КСТАТИ, док docs.rs/env_logger/0.8.3/env_logger/#enabling-logging

Ответ №1:

Уровни журнала являются иерархическими, что означает , что если вы установите этот уровень info равным, info сообщения и все уровни выше будут записываться. Отфильтровываются только сообщения с более низким приоритетом, чем разрешенный уровень:

  • error
  • warn
  • info
  • debug
  • trace

Будучи самым низким уровнем, trace будет захватывать все журналы:

 RUST_LOG="trace" cargo run