[Python-Dev] Re: PEP 282 comments
Trent Mick
trentm@ActiveState.com
Thu, 21 Mar 2002 19:37:47 -0800
So the decision is between the simpler:
class Logger:
def info(self, msg, *args): ...
def exception(self, msg, *args):
"""Log sys.exc_info() at the ERROR level"""
and the slightly more complex:
class Logger:
def info(self, msg, *args, **kwargs):
"""Use kwargs["exc_info"] to log an exception at this level."""
def exception(self, msg, *args, **kwargs):
"""Optionally pass in kwargs["exc_info"] otherwise sys.exc_info()
is called to log exception information at the ERROR level."""
The argument for the latter is that is adds the capability of:
(1) Logging an exception at a level other than ERROR (for which Jeremy
maintains there is a string use case and for which Kevin Butler gives
a simpler use case); and
(2) Optionally explicitly passing in exc_info, that may differ from
sys.exc_info().
The argument for the former is:
(1) KISS and YAGNI
(2) You should just be able to subclass Logger and add the functionality
you want. This is only a string point if the given use cases are not
at all common.
(3) If you want to pass in exc_info other than sys.exc_info() then
format it yourself or subclass Logger.
Thoughts?
Trent
--
Trent Mick
TrentM@ActiveState.com