title: Python error logging
body: <p>I'd like to find a way to log every error that forces the python interpreter to quit to be saved to a file as well as being printed to the screen.  The reason I would like to do this is that I want to keep stats on the types of errors I make while writing code, with an eye towards finding ways to avoid mistakes I make commonly in the future.</p>
  
  <p>I've been attempting to do this by writing a wrapper for the python interpreter using the subprocess module.  Basically, it runs the python interpreter, captures any output, parse and saves it to a file, prints the output, and use matplotlib to make some summary figures.  However, I'm having a problem getting output from my wrapper script in real time.  For example, if the script I'm running is:</p>
  
  <pre><code>import os  
  import time
  
  for x in range(10):  
      print "testing"  
      time.sleep(10)  
  </code></pre>
  
  <p>and I'm using subprocess.Popen() with p.communicate(), the wrapper will wait 100 seconds, and then print all of the output.  I'd like the wrapper to be as invisible as possible - ideally in this case it would print "testing" once every ten seconds.</p>
  
  <p>If someone could point me towards a good way of doing this, I'd greatly appreciate it.</p>
  
  <p>Thanks!</p>