rust-cli / env_logger

A logging implementation for `log` which is configured via an environment variable.
https://docs.rs/env_logger
Apache License 2.0
803 stars 125 forks source link

I feel like I must be missing how `RUST_LOG` works OR that the documentation is wrong #207

Open ilyvion opened 3 years ago

ilyvion commented 3 years ago

One of the documentation examples for RUST_LOG says that

error,hello=off turn on global error logging, but turn off logging for hello

However, in my own app, I've tried setting it to RUST_LOG="debug,serenity=off" and my log keeps spewing things from serenity anyway:

[2021-06-12T14:40:26Z INFO  serenity::cache] update
[2021-06-12T14:40:26Z INFO  serenity::client::bridge::gateway::shard_runner] recv
[2021-06-12T14:40:26Z INFO  serenity::gateway::shard] check_heartbeat
[2021-06-12T14:40:26Z INFO  serenity::client::bridge::gateway::shard_runner] recv_event
[2021-06-12T14:40:27Z INFO  serenity::client::bridge::gateway::shard_runner] recv
[2021-06-12T14:40:27Z INFO  serenity::gateway::shard] check_heartbeat
[2021-06-12T14:40:27Z INFO  serenity::client::bridge::gateway::shard_runner] recv_event
...

Basically, the global debug seems to override everything, despite what the documentation says to the contrary.

If I do RUST_LOG="error,serenity=off", nothing prints though, so it's not like RUST_LOG isn't working at all. What's going on?

(What I originally wanted was to do RUST_LOG="debug,serenity::gateway::shard=warn,serenity::client::bridge::gateway::shard_runner=warn", but when that didn't work, I tried simplifying my value until I could find something that worked, and discovered that not even doing serenity=off worked.)