In article <[EMAIL PROTECTED]>,
Peter Otten <[EMAIL PROTECTED]> wrote:
> Laszlo Zsolt Nagy wrote:
>
> > I have this code:
> >
> > s = smtplib.SMTP()
> > s.set_debuglevel(1)
> > s.connect(host=smtp_host)
> > s.set_debuglevel(0)
> > log("Connected, sending e-mail")
> > sys.stdout.flush()
> > s.sendmail(
> > consts.EMAIL_FROMADDRESS,
> > [to],
> > msg.as_string()
> > )
> > log("E-mail sent OK")
> > s.quit()
> >
> > The problem is that whenever I set the debuglevel to 1, messages will go
> > to stderr. I would like them to go to stdout. Using
> >
> > sys.stderr = sys.stdout
> >
> > has no effect. Redirecting stderr to stdout from the shell is not an
> > option for me, because I need to use stderr for other messages.
>
> smtplib obtains a copy of stderr by
>
> from sys import stderr
>
> Therefore you have to do
>
> smtplib.stderr = sys.stdout
>
> to get the desired effect.
Ouch. I'd consider this a bug. "from sys import stderr" should at least
be considered bad style.
Just
--
http://mail.python.org/mailman/listinfo/python-list