1 import logging 2 3 4 def handle(): 5 # 1、定义logger对象:负责产生日志,然后交给Filter过滤,然后交给不同的Handler输出 6 logger = logging.getLogger() 7 8 # logger.setLevel("DEBUG") 9 10 # 2、Filter对象:不常用,略 11 12 # 3、Handler对象:接收logger传来的日志,然后控制输出 13 h1 = logging.FileHandler('runLog.log', 'w', encoding='utf8') # 打印到文件 14 h2 = logging.StreamHandler() # 打印到终端 15 16 # 4、Formatter对象:日志格式 17 output_1 = logging.Formatter( 18 "%(asctime)s\%(module)s\%(levelname)s\%(levelno)s\%(threadName)s:%(thread)d\%(filename)s:%(lineno)d: " 19 "%(message)s", datefmt='%Y-%m-%d %H:%M:%S %p', ) 20 21 output_2 = logging.Formatter('%(asctime)s, %(levelname)s : %(message)s', 22 datefmt='%Y-%m-%d %H:%M:%S %p', ) 23 24 # 5、为Handler对象绑定格式 25 h1.setFormatter(output_1) 26 h2.setFormatter(output_2) 27 28 # 6、将Handler添加给logger并设置日志级别 29 logger.addHandler(h1) 30 logger.addHandler(h2) 31 # logger.setLevel("DEBUG") # 设置级别 32 33 return logger