[SciPy-User] Is there existing code to log-with-bells-on for runtime algorithm diagnostics?
Cameron Simpson
cs at zip.com.au
Tue Apr 21 21:21:50 EDT 2015
On 22Apr2015 10:50, Chris Angelico <rosuav at gmail.com> wrote:
>On Wed, Apr 22, 2015 at 10:11 AM, Cameron Simpson <cs at zip.com.au> wrote:
>> I have a context manager named "Pfx" which I use liberally in my code like
>> this:
>>
>> from cs.logutils import Pfx, info
>>
>> def load(filename):
>> with Pfx("loading %r", filename):
>> with open(filename) as fp:
>> lineno = 0
>> for line in fp:
>> lineno += 1
>> with Pfx("%d", lineno):
>> ... do stuff with line ...
>> info("line value is foo=%r", foo)
>> ...
>>
>> This causes the info() call to report like this:
>>
>> loading 'myfile.dat': 21: line value is foo=12345
>
>Very nice! I'm guessing it depends on the use of info(), though,
>rather than applying to pre-existing logging calls? Even so, all that
>means is that you use a specific call to do your logging, and
>everything works perfectly. The nesting is excellent.
Well, yes; there's a small suite of wrappers in the cs.logging module. But you
can hook them up to various outputs via the core logging stuff. The exception
catch/reraise is also very useful - orthoganal to the logging.
It is in PyPI, BTW.
Cheers,
Cameron Simpson <cs at zip.com.au>
I fit in my suit, my suit fits in my suitcase, hence i fit in my suitcase.
- Cees Keyer <cees at htsa.hva.nl>
More information about the Python-list
mailing list