I have been taken to task to the indescriminate use of try: except: blocks to handle "edge conditions" in my code. Mea culpa. So, I tried to incorporate logging. How do I force the log file to not be the console?
Here's what did. What am I missing?
import sys
import traceback,logging
logging.basicConfig(filename = 'log')
exception_logger = logging.getLogger('log.exception')
def log_traceback(ex, ex_traceback):
tb_lines = traceback.format_exception(ex.__class__, ex, ex_traceback)
tb_text = ''.join(tb_lines)
print tb_text
exception_logger.log(0,tb_text)
.
.
.
try:
self.items[self.currentRow]['accessory_type'] = 'none' # un-flags current selected row
except Exception as ex: #needed for very first selection
_, _, ex_traceback = sys.exc_info()
log_traceback(ex, ex_traceback)