常用模块的小练习
请配置logging模块,使其在屏幕和文件里同时打印以下格式的日志:
2017-10-18 15:56:26,613 - access - ERROR - account [1234] too many login attempts
import logging formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') # 设置输出格式 ch = logging.StreamHandler() # 控制台输出 ch.setLevel(logging.ERROR) # 设置日志等级 ch.setFormatter(formatter) # 设置好的格式添加到控制台输出上 fh = logging.FileHandler('lily.log') # 日志输出到文件 fh.setLevel(logging.ERROR) # 日志等级 fh.setFormatter(formatter) # 格式 logger = logging.getLogger('access') # 日志所属的模块名,创建个log # logger.setLevel(logging.DEBUG) # logger 优先级高于其它输出途径的 ---存疑 logger.addHandler(ch) # 添加控制台输出 logger.addHandler(fh) # 添加文件日志输出 logger.warning('account[1234] too many attempts') # console : INFO # global : DEBUG default level : warning # file :Warning # 全局设置为DEBUG后, console handler 设置为INFO, 如果输出的日志级别是debug, 那就不会在屏幕上打印