'''软件开发通过日志纪录程序的运行是一种良好的开发习惯,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(控制显示)
第四步:格式化输出'''
importlogging
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("崩溃")#----在函数调试中使用日志管理器------------------------
deffunc(n):try:
num= 20/n
logger.info(num)exceptException as s:
logger.error(s)
func("sss")