Priority issues between environment variable `RUST_LOG` and function call `filter_level` / `filter`.
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- rust
- Domaine
- observability-sre
Piste de recherche
Commencez par le comportement du générateur de logger autour de filter_level(level), filter(None, level) et de l’initialisation de RUST_LOG. Déterminez comment leurs priorités sont actuellement appliquées, puis définissez la précédence attendue afin que RUST_LOG puisse remplacer le niveau codé en dur, et ajoutez une couverture pour les deux formes d’initialisation.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Environment variable RUST_LOG can only used to set "default policy", which means if filter_level(level) or filter(None, level) (they are practically equivalent) called at logger init, then environment variable RUST_LOG will cannot override the hardcoded log level.
This because environment variable RUST_LOG will initialized first (by default), then override by program logic. This might be a bug because commonly priority of environment variable > cli flag > config file or hardcoded.
Demo:
use log::{info, LevelFilter};
fn main() {
// Hardcoded log level by using `filter_level` or `filter`.
env_logger::builder().filter_level(LevelFilter::Info).init();
info!("starting up");
}
If set the environment variable RUST_LOG=warn, info output will still print:
demo on master [?] is 📦 v0.1.0 via 🦀 v1.67.0
at 14:04:38 fsh ❯ RUST_LOG=warn cargo run
Finished dev [unoptimized + debuginfo] target(s) in 0.01s
Running `target/debug/demo`
[2023-01-31T06:04:43Z INFO demo] starting up
But if not setting log level at logger init:
use log::info;
fn main() {
env_logger::builder().init();
info!("starting up");
}
Then log level can be controlled easylly from RUST_LOG:
demo on master [?] is 📦 v0.1.0 via 🦀 v1.67.0
at 14:07:17 fsh ❯ RUST_LOG=info cargo run
Finished dev [unoptimized + debuginfo] target(s) in 0.01s
Running `target/debug/demo`
[2023-01-31T06:07:21Z INFO demo] starting up
demo on master [?] is 📦 v0.1.0 via 🦀 v1.67.0
at 14:07:21 fsh ❯ RUST_LOG=warn cargo run
Finished dev [unoptimized + debuginfo] target(s) in 0.01s
Running `target/debug/demo`
- Langage dominant
- Rust
- Étoiles
- 1.1k
- Forks
- 150
- Merge moyen
- 2 min
- PR mergées (30 j)
- 1
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de rust-cli/env_logger
-
Sanitization requires color, which parses every recordPeut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 52/100
rust-cli/env_logger#419 · 2 commentaires ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
rust-cli/env_logger#379 · 5 commentaires ·
-
Changing the target of loggingOuverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
rust-cli/env_logger#369 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
rust-cli/env_logger#367 · 1 commentaire ·
-
refactor the crate to separate the provided configurable formater and the optional custom formatterOuverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
rust-cli/env_logger#365 · 10 commentaires ·
Toutes les issues de rust-cli/env_logger
Issues similaires
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
manuscript-lang/manuscript#1364 ·
Les mainteneurs répondent en général sous 1 jour
-
`printf "%o"` prints decimalOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
fable-compiler/Fable#5157 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 73/100
Les mainteneurs répondent en général sous 1 jour
-
C-bug needs-triage O-UEFI T-libs
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour