1 #coding:utf-8 2 import logging 3 def log(): 4 #创建logger,如果参数为空则返回root logger 5 logger = logging.getLogger() #定义一个logger(日志器提供应用程序提供接口) 6 logger.setLevel(logging.DEBUG) #设置logger日志等级 7 8 #创建handler(日志处理器)将logger创建的日志按照自身定义的formatter格式输出到指定地方 9 fh = logging.FileHandler("test.log",encoding="utf-8") #将日志消息发送到磁盘文件,默认情况下文件大小会无限增长 10 ch = logging.StreamHandler() #将日志消息发送到输出到Stream,如std.out, std.err或任何file-like对象。 11 12 #设置输出日志格式 13 formatter = logging.Formatter( 14 fmt="%(asctime)s %(levelname)s %(filename)s%(funcName)s %(message)s", #指定消息格式化字符串,如果不指定该参数则默认使用message的原始值 15 datefmt="%Y/%m/%d %X" #指定日期格式字符串,如果不指定该参数则默认使用"%Y-%m-%d %H:%M:%S" 16 17 ) 18 19 #将formatter定义的格式加载到handler 20 fh.setFormatter(formatter) 21 ch.setFormatter(formatter) 22 23 #为logger添加的日志处理器, 24 logger.addHandler(fh) 25 logger.addHandler(ch) 26 27 return logger #直接返回logger