[Python-Dev] Re: PEP 282 comments
Trent Mick
trentm@ActiveState.com
Wed, 20 Mar 2002 14:02:39 -0800
[Jeremy Hylton wrote]
> zLOG does have a nice feature for passing an exception info
> to a log call. I'd like to see this as a standard feature,
> e.g.
>
> logger.info("A normal exception occurred",
> exc_info=sys.exc_info())
>
> The idea is the any of the log calls could also include a
> formatted traceback in the log.
Ideas I am batting around:
MarkH's and Guido's (doesn't allow controlling the level of the message):
class Logger:
def exception(self, msg, *args):
# This is almost identical to error(), but sys.exc_info() is
# called, and if available the exception details are appended to
# msg. As sys.exc_info() is called, this is only useful in an
# exception handler.
logger.exception("Like, Oh My God!") # cannot log it at 'info' level
Jeremy's:
class Logger:
def info(self, level, msg, *args, **kwargs):
# watch for 'exc_info' in kwargs
logger.info("Like, Oh My God!", exc_info=sys.exc_info())
Trent's:
class Logger:
def exception(self, msg, *args, **kwargs):
# watch for 'level' in kwargs
logger.exception("Like, Oh My God!", level=logging.INFO)
Which do you all prefer?
> What's the current status of this PEP? I like the general
> outline of stuff, but it feels a little fuzzy. That is, it
> seems to present a high-level description and a bunch of
> options. I'd like to see the concrete APIs for all of the
> objects.
The current status is that I have been slowly working on it in private. I
agree that the current PEP is fuzzy.
> I'd also love to get at least a prototype implementation.
> It would be need to replace the zLOG in Zope3 with a new
> logging implementation that follows the PEP.
Last week (I think) Vinay Sajip posted on python-list that he had a prototype
implementation of PEP 282.
http://www.red-dove.com/python_logging.html
I like what he has and I hope to work with him (merging with what
implementation scraps I have) to build the eventual proposed patch for the
PEP. I haven't told him this yet though. :) Vinay, what do you think?
Trent
--
Trent Mick
TrentM@ActiveState.com