''' 软件开发通过日志纪录程序的运行是一种良好的开发习惯,python标准库自带日志模块,在程序模块中直接调用标准库 的日志模块,通过日志开发者可以清楚的了解到发生了哪些事情,包括出现了哪些错误。 在logging中日志文件分为5个等级 日志等级(level) 描述 DEBUG 调试信息,通常在诊断问题时使用 INFO 普通信息,确认程序按预期进行 WARNING 警告信息,表示发生意想不到的信息,程序会继续运行 ERROR 错误信息,程序运行出现问题,程序某些功能不能执行 CRITICAL 危险信息,一个严重的错误,导致程序无法继续运行 ''' ''' import logging #导入日志模块 logging.basicConfig(filename="test.log",level=logging.DEBUG) #创建日志文件,设置等级 #-----运行文件写入三个信息分别为debug、info、warning三种级别 logging.debug("debug") logging.info("info") logging.warning("warning") ''' #-----创建一个日志文件管理器------------------------------------------ ''' 第一步:初始化日志处理器对象 第二步:设置级别 第三步:定义handler(控制显示) 第四步:格式化输出 ''' import logging logger = logging.getLogger() #实例化一个日志处理器对象 logger.setLevel(logging.DEBUG) #设置级别 sh = logging.StreamHandler() #设置在控制台输出 sh.setLevel(logging.DEBUG) #达到级别就输出 fh = logging.FileHandler("test.log",encoding="utf-8") #写入到文件中 fh.setLevel(logging.DEBUG)#达到级别就输出 #定义输出格式 formatter = logging.Formatter( "时间:%(asctime)s," "日志级别:%(levelname)s," "日志内容:%(message)s" ) sh.setFormatter(formatter) #设置在控制台输出的格式 fh.setFormatter(formatter) #设置写入文件的格式 logger.addHandler(sh) #使handler生效 logger.addHandler(fh) #在日志管理器中写入5个文件级别分别为:debug、info、warning、error、critical if __name__ == '__main__': logger.debug("调试中") logger.info("正在运行") logger.warning("警告") logger.error("错误") logger.critical("崩溃") #----在函数调试中使用日志管理器------------------------ def func(n): try: num = 20/n logger.info(num) except Exception as s: logger.error(s) func("sss")