Logging messages with dictionary args in Python 2.4b1 leads to exception
Stefan Behnel
behnel_ml at dvs1.informatik.tu-darmstadt.de
Wed Oct 20 10:43:47 EDT 2004
Paul Clinch schrieb:
> logging.fatal( 'Test is %(test)s' % values)
> is fine. An why shouldn't you use it in this fashion?
I thought a logging API was usually trying to do costly things only when
it knows it has to. You /could/ do that, but since it doesn't come for
free - why not first do the check if you will actually log this message?
Ok, I know there's an overhead anyway: function calls, object creation,
etc. But copying strings and creating string representations of objects
can be /very/ expensive and should only be done if the log message is
definitely written.
I'd simply say that constructing a log message from arguments is such a
common thing that it is worth providing efficient API support for it. And
I think it's truely counter-pythonic to prevent the usage of dictionaries
at this point.
Stefan
More information about the Python-list
mailing list