title: Python logging exception
body: <p>I'm currently writing a wrapper class. I want to be able to log exceptions properly but allow calling methods to be aware of exceptions which occur. My class looks like this:</p>
  
  <pre><code>import logging
  
  log = logging.getLogger('module')
  
  class MyAPIWrapper(library.APIClass):
  
      def __init__(self):
          self.log = logging.getLogger('module.myapiwrapper')
  
  
      def my_wrapper_method(self):
          try:
              response = self.call_api_method()
              return response.someData
          except APIException, e:
              self.log.exception('Oh noes!')
              raise e #Throw exception again so calling code knows it happened
  </code></pre>
  
  <p>I'm a bit dubious about catching and exception just to log it and then re-raising it so the calling code can do something about it. What's the proper pattern here?</p>