Priority issues between environment variable `RUST_LOG` and function call `filter_level` / `filter`.
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- rust
- Domínio
- observability-sre
Direção de pesquisa
Comece pelo comportamento do builder do logger em torno de filter_level(level), filter(None, level) e da inicialização de RUST_LOG. Determine como as prioridades são aplicadas atualmente e, em seguida, defina a precedência esperada para que RUST_LOG possa substituir o nível codificado diretamente no código e adicione cobertura para ambas as formas de inicialização.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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`
- Linguagem predominante
- Rust
- Estrelas
- 1.1k
- Forks
- 149
- Merge médio
- 2min
- PRs com merge (30d)
- 1
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de rust-cli/env_logger
-
Sanitization requires color, which parses every recordTalvez livre de novo Um pull request para esta issue foi fechado sem ser mesclado. Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 52/100
rust-cli/env_logger#419 · 2 comentários ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
rust-cli/env_logger#379 · 5 comentários ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
rust-cli/env_logger#369 ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
rust-cli/env_logger#367 · 1 comentário ·
-
refactor the crate to separate the provided configurable formater and the optional custom formatterAberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
rust-cli/env_logger#365 · 10 comentários ·
Todas as issues de rust-cli/env_logger
Issues semelhantes
-
Remove the em dashes from the skill smart-account referenceTalvez já em andamento @Vamsi-2581 assumiu hoje. Abertaagent-ready area: docs documentation good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
Soneso/stellar-agent-wallet#541 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
bovinemagnet/AdocFoundry#279 ·
Mantenedores costumam responder em até 1 dia
-
help wanted
Dificuldade 1/5 Meio dia Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 2 dias
-
accessibility good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100