常用模块的小练习

请配置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, 那就不会在屏幕上打印
View Code
 
原文地址:https://www.cnblogs.com/Simonsun002/p/8878578.html