Logging messages with dictionary args in Python 2.4b1 leads to exception

Steve Holden steve at holdenweb.com
Fri Oct 22 01:34:29 CEST 2004

Vinay Sajip wrote:
>>The only problematic case is a tuple as only argument, everything else 
>>should work. So there are three possible solutions for backward compatibility:
>>1) document the change :o)
>>2) check for a dictionary as first argument
>>3) check for a tuple as first argument
>>Since the tuple is the only problematic thing you could hand in, I 
>>personally feel a preference for making that the "exception" (i.e. I vote 
>>for 3).
> I would prefer (2), as the change is catering for the specific use
> case of a single dictionary argument. This is what is currently in
> CVS.
> Regards,
> Vinay Sajip

Couldn't we just use keyword arguments to indicate dictionary-style 
substitution? That seems to make a simpler, more elegant solution to me:

if args:
	msg = msg % args
	msg = msg % kwargs

Or am I (as I so often do) missing something?

Holden Web LLC +1 800 494 3119

More information about the Python-list mailing list