import sys import traceback ... try: resumes.append(resume.get_data()) # В методе get_data() возникает исключение except Exception: registry = Registry() log = open(registry.get('error_log') , 'a') log.write("\nresume #" + resume_id + " error\n") # Пишем трассировку исключения в лог print traceback.print_exc(file = log) if(registry.is_debug_mode()): print traceback.print_exc(file = sys.stdout) log.close() ...
Класс Registry (упрощенный, для реальной работы не подходит)
По поводу реализации singletone в python см. http://code.activestate.com/recipes/66531/
class Registry: __shared_state = {} vars = {} def __init__(self): self.__dict__ = self.__shared_state def set(self, key, value): self.vars[key] = value def get(self, key): return self.vars[key] def is_debug_mode(self): if(self.vars['mode'] == 'debug'): return True return False
Комментариев нет:
Отправить комментарий