title: Why does python logging package not support printing variable length args?
body: <p>When I first learned Python, I got used to doing this:</p>
  
  <pre><code>  print "text", lineNumber, "some dictionary", my_dict
  </code></pre>
  
  <p>When I wrote my own logging facility, I naturally wanted to be able to hand it an arbitrarily-sized list of items, so I did this:</p>
  
  <pre><code>def error(*args):
     print ERR_PREFIX,
     for _x in args:
        print _x,
     print "\r\n",
  
  error("text", lineNumber, "some dictionary", my_dict)
  </code></pre>
  
  <p>Now I want to start using the logging package because it has a lot more goodies and I don't feel like replicating their effort.  Overall it looks like a clean design that can do a lot.  But I'm stymied by the fact that you can no longer present it with the same list of items for it to print.  Instead, I must change all my calls to something more like this:</p>
  
  <pre><code>error("text %d some dictionary %s" % (lineNumber, my_dict))
  </code></pre>
  
  <p>Or, I could do something really silly like this:</p>
  
  <pre><code>error(' '.join(map, str(("text", lineNumber, "some dictionary", my_dict))))
  </code></pre>
  
  <p>The question is, why omit such an obvious usage case?  If you want to go from the typical 'print' statement straight to the new-fangled logging facility, shouldn't this be easier?</p>
  
  <p>As a follow-up question, can you think of a way to override the Logger class to perform this?</p>