摘要1:https://blog.csdn.net/u011159607/article/details/79985087
摘要2:https://blog.csdn.net/pansaky/article/details/90710751
logger:日志对象,logging模块中最基础的对象,用logging.getLogger(name)方法进行初始化,name可以不填。通常logger的名字我们对应模块名,如聊天模块、数据库模块、验证模块等。
1.setLevel:设置日志等级(五个等级从低到高分别是debug到critical)
-
debug:debug级输出
-
info:info 级输出,重要信息
-
warning:warning级输出,与warn相同,警告信息
-
error:error级输出,错误信息
-
critical :critical级输出,严重错误信息
注意:一旦设置了日志等级,则调用比等级低的日志记录函数则不会输出! 所以当seLevel设置为DEBUG时,可以截获取所有等级的日志输出。
2.StreamHandler 流对象:
import logging
import sys
l_g = logging.getLogger()
l_g.setLevel(logging.DEBUG) # 设置日志级别为debug
s_h = logging.StreamHandler(sys.stderr) # sys.stderr(捕获错误信息)
l_g.addHandler(s_h)
l_g.debug('debug msg')
设置日志格式
log = logging.getLogger('聊天模块')
log.setLevel(logging.INFO) # INFO
# 设定日志格式
fmt = logging.Formatter('%(levelname)s:%(name)s:%(message)s')
h = logging.StreamHandler()
h.setFormatter(fmt)
log.addHandler(h)
3.basicConfig 对象
import logging
logging.basicConfig(level=logging.INFO,
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
datefmt='%Y-%m-%d %H:%M:%S',
filename='log1.txt',
filemode='a')
logger = logging.getLogger(__name__)
logger.info("Start print log")