What should go to stdout/stderr and why Python logging write everything to stderr?

Barry Scott barry at barrys-emacs.org
Wed Jan 4 12:55:45 EST 2023


On 03/01/2023 21:24, c.buhtz at posteo.jp wrote:
> Am 03.01.2023 17:51 schrieb ram at zedat.fu-berlin.de:
>> logging.getLogger().addHandler( logging.StreamHandler( sys.stdout ))
>
> But I don't want to make all log levels go to stdout. Just DEBUG and 
> INFO. But this would be a workaround.
>
> The main question here is why does Python deciecded to make all logs 
> go to stderr?
> Maybe I totally misunderstood the intention of logging.info()?! Isn't 
> this the "usual applicaton output"?
>
> If not, what messages should go into logging.info()? Can you name me 
> some examples?

Example:

write an app that prints the contents of a file.

The application output is the contents of the file.

The logging might be this when all is working:

INFO About to open <filename>
INFO Wrote <number> bytes from <filename>

The logging might be this when there is a problem:

INFO About to open <filename>
ERROR Failed to open <filename> - <reason>

Does that help?

Barry




More information about the Python-list mailing list