[Python-ideas] Easing set-up of of console python applications

Chris Angelico rosuav at gmail.com
Sat Feb 10 15:20:50 EST 2018

On Sun, Feb 11, 2018 at 6:29 AM, Mario Corchero <mariocj89 at gmail.com> wrote:
> Hello All!
> I got asked how to configure the logging stack to be able to output directly
> to console using both stdout and stderr and I could not really find a great
> answer as adding both as StreamHandlers will result in error and above
> messages going to stdout.

There's a recipe in the docs that shows how to "fork" to console and file:


I presume that's what you were looking at? Because yes, that'll do
exactly what you say.

> The usecase is having a cli or app that wants to log to console as other
> tools. Errors and bove to stderr and normal information to stdout. I know
> the recommended way in Python is to just use print on simple scripts, but it
> can happen that you import a library you want to see the logs of, and
> therefore you need to set the logging stack.
> I have drafted two implementations but I am open to suggestions:
> 1) A "Console Handler" that uses multiple streams and chooses based on the
> level.
> 2) An inverted filter that can be used to filter everything above info for
> the stdout Stream handler.
> What do you people think?
> If people like it I'll send an issue + PR.

It would be an interesting variant on the recipe to say "debug and
above, but NOT error and above, goes to this stream". How complex are
the implementations? Would they fit nicely into the cookbook?


More information about the Python-ideas mailing list