[issue6435] logging: cache the traceback text on formatter, instead of record
report at bugs.python.org
Thu Jul 9 12:02:28 CEST 2009
Vinay Sajip <vinay_sajip at yahoo.co.uk> added the comment:
> But the cache needs to be invalidated when `exc_info` is changed -
> as in set to None when it was a traceback object.
When does the exc_info change for a record? AFAIK it's set when you
create a LogRecord, and that's it.
To be honest, I'm not sure why you need that specific recipe. Notice
the comment made by a user against the recipe. But if you are set on
doing it like this, then suppose I configure as follows:
Create a StreamHandler(sys.stderr) and a StreamHandler(sys.stdout).
Create a Formatter and attach it to the output handler.
Create a Formatter with the format string used above but with
an "error:" prefix, and attach it to the error handler.
Add a Filter to each handler. This can be a single Filter class which
either passes everything above a threshold or everything below a
threshold. This will only have a few lines of code. Attach two such
instances, suitably configured, to the appropriate handlers.
Attach both handlers to the root logger (or some other logger).
How will this differ in its effect from your recipe?
Python tracker <report at bugs.python.org>
More information about the Python-bugs-list