> If you want it only temporarily for debugging purposes, or permanently for all scripts in your system, it's not really feasible.
Hmm,
I'm not sure that I like the idea of overriding the default logging
level being set system-wide, or that there would be an especially strong
use case for it. Instead, it seems more practically common to want to
set it on an individual run of a program temporarily. In such cases,
using some form of command-line parsing utility is a perfectly a viable
option.
Well I meant more like a permanent "debug" mode, but the temporary case is probably the one more appealing to me and other users.
> We have debugging flags
for warnings, faulthandlers, asyncio etc...
Arguably
though, the easier it is to implement on your own, the less of a need
there is to be an environment variable to do it. Also, I think the
logging configuration should be on a per-program basis, rather than
globally (which is what env vars are typically used for).
I agree that logging configuration should be on a per program basis. Maybe a flag should be the solution, like '-Linfo'.
When I said 'trivial', I didn't mean easy to implement. I meant that it's a much more common use case, and makes sense to have.
-Wdefault is trivial to implement.
Asyncio.debug is a single flag.
Logging takes the same amount of lines, even more if you need to parse the args, but is much more common and needed. I've done a little stack overflow search, and there are tons of questions about having or creating such a feature manually.
Last but not least: our suggested methodology for libraries is to use "NullHandler". If a library uses it, errors will not show up unless you set up a handler (with probably stdout for debug) on the root logger. If '-Linfo' or '-x logging' will be part of the possible debug cmdline options, these obscure bugs would be much easier to track. (I personally spent a few days to track one like that not long ago)