import logging import traceback from types import MethodType, FunctionType # filename: 文件名 # format: 数据的格式化输出, 最终在日志文件中的样子 # 时间-名称-级别-模块: 错误信息 # datefmt: 时间的格式 # level: 错误的级别权重, 当错误的级别权重大于等于leval的时候才会写入件 # 第一套写法: logging.basicConfig(filename='x1.log', format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S', level=0) # 当前配置表示 0以上的分数会被写入文件 # CRITICAL = 50 # FATAL = CRITICAL # ERROR = 40 # WARNING = 30 # WARN = WARNING # INFO = 20 # DEBUG = 10 # NOTSET = 0 logging.critical("我是critical") # 50分. 最贵的 logging.error("我是error") # 40分 logging.warning("我是warning") logging.info("我是info") logging.debug("我是debug") logging.log(1, "我什么都不是") # import traceback try: print(1/0) except Exception: logging.error(traceback.format_exc()) print('出错了') # 第二套写法: # import logging # 创建⼀个操作日志的对象logger(依赖FileHandler) # open() file_handler = logging.FileHandler('left.log', 'a', encoding='utf-8') file_handler.setFormatter(logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s")) logger1 = logging.Logger('qq', level=20) logger1.addHandler(file_handler) # 把文件助手和日志对象绑定 logger1.error('我是A系统出错了') # 记录日志 # 再创建⼀个操作日志的对象logger(依赖FileHandler) file_handler2 = logging.FileHandler('rigrht.log', 'a', encoding='utf-8') file_handler2.setFormatter(logging.Formatter(fmt="%(asctime)s - %(name)s -%(levelname)s -%(module)s: %(message)s")) logger2 = logging.Logger('B系统', level=20) logger2.addHandler(file_handler2) logger2.error('我是B系统出错了') # 记录日志 # import traceback try: print(1/0) except Exception: logger2.critical(traceback.format_exc()) print("出错了. 请联系管理员") print("程序继续知悉个")
直接拿过来用即可。