[Python-Dev] transitioning from % to {} formatting
Antoine Pitrou
solipsis at pitrou.net
Wed Sep 30 19:01:35 CEST 2009
James Y Knight <foom <at> fuhm.net> writes:
>
> The user could write either:
> logging.Formatter("%(asctime)s - %(name)s - %(level)s - %(msg)s")
> (as always -- that can't be changed without a long deprecation
> period), or:
> logging.Formatter(newstyle_formatstr("{asctime} - {name} - {level} -
> {msg}")
Why not allow logging.Formatter to take a callable, which would in turn call the
callable with keyword arguments?
Therefore, you could write:
logging.Formatter("{asctime} - {name} - {level} - {msg}".format)
and then:
logging.critical(name="Python", msg="Buildbots are down")
All this without having to learn about a separate "compatibility wrapper object".
Regards
Antoine.
More information about the Python-Dev
mailing list