时间:2022-03-07 08:52:46 | 栏目:Python代码 | 点击:次
问题:在pyqt界面运行中会异常退出,但是无出错代码追踪信息。
解决方法:
选中Emulate terminal in output console即可显示错误信息。
补充知识:python logging 日志 通过修饰器获取错误信息
今天公司要求研究一下python日志相关的信息,用户通过使用图形化界面产生错误后并不知道为什么报错。因此,要通过日志实现记录错误的功能。
import functools import logging def create_logger(): logger = logging.getLogger("test_log") logger.setLevel(logging.INFO) fh = logging.FileHandler("test.log") fmt = "\n[%(asctime)s-%(name)s-%(levelname)s]: %(message)s" formatter = logging.Formatter(fmt) fh.setFormatter(formatter) logger.addHandler(fh) return logger def log_exception(fn): @functools.wraps(fn) def wrapper(*args, **kwargs): logger = create_logger() try: fn(*args, **kwargs) except Exception as e: logger.exception("[Error in {}] msg: {}".format(__name__, str(e))) raise return wrapper @log_exception def tain(x): x=10 def nat(): print u nat() tain(1)
运行它之后会生成一个test.log的日志文件,当报错时,会把错误记录起来。