[Python-Dev] PEP 282 and Python Logging: What Next?

Vinay Sajip vinay_sajip@red-dove.com
Mon, 15 Apr 2002 03:04:39 +0100


Almost exactly a month ago I released a logging module which, by dint of
drawing from the same influences (log4j, java.util.logging), was fairly
closely aligned with PEP 282 (written by Trent Mick). And in that month,
suggestions, patches and bug reports have been gratefully received from the
community, which have helped to remove some of the rough edges from the
module.

In PEP 283 (Python 2.3 Release Schedule), PEP 282 is mentioned as one of the
planned features for 2.3. It also gets a thumbs up from Guido in the Parade
of the PEPs, in that he expresses a hope that PEP 282 can be implemented in
2.3. Clearly, as author of a module which pretty much does everything that
282 calls for (and then some), I'd like the module to be accepted into the
standard library and become part of 2.3. I do hope I'm not being too
presumptuous in suggesting this, and putting forward my logging module as a
reference implementation for PEP 282. Assuming that I'm not ...

Being new to the Python enhancement process, I read PEPs 1 and 2. The
section in PEP 2 entitled "Acceptance Procedure" talks about the need for a
library PEP and a reference implementation. PEP 1 says that the PEP should
be accepted before work is started on a reference implementation; however,
in this case, since the PEP and the implementation were independently
implemented, the latter already exists and in some areas covers ground which
is not addressed in detail in the PEP. It's also true that while Trent Mick
is the author/champion of the PEP, I am the author/champion of the reference
implementation.

Comments that were made on the PEP on Python-dev have been generally
favourable, the main negatives focusing on lack of detail in one or two
areas (e.g. configuration) and the absence of concrete APIs. IMO the
concrete API question should be able to be settled now that an
implementation exists and is (apparently) proving useful for quite a few
people. There are also minor variations (e.g in naming) between
implementation and PEP, which need reconciling. The PEP can also be fleshed
out in areas (such as configuration) which were not detailed enough for some
reviewers.

The PEP hasn't been updated since February, and is still in draft status.
Guessing that Trent is probably busy on other stuff, on a couple of
occasions I've asked for his plans and offered him assistance in updating
the PEP and getting it ready for submission, but for whatever reason I've
not had any responses. So I'm wondering - what happens next, in terms of PEP
acceptance and integrating the module into 2.3? I'd certainly like to move
things along and have time available to make things happen.

The status of the module is that the implementation is largely feature
complete (to my biased view), and has had a moderate amount of testing, both
by me and by other users, with no significant fallout having been reported.
Documentation is largely in docstrings (practically everything has a
docstring - about a third of the module's length is docstrings) and I'll be
happy to work it up into LaTeX for inclusion with the standard library docs.
There is some work on packaging still to do (it's still in one file and
roughly the same size as pydoc; I've not had any feedback as to whether core
and handlers should be separated). In terms of testing - there is a bevy of
test scripts for testing particular features of the module, which are part
of the current distribution at

http://www.red-dove.com/python_logging.html

Please advise on what you think should happen next.

Regards


Vinay Sajip