# 导入logging模块
import logging
# 创建一个日志器,就是一个logger对象
logger = logging.getLogger('logger')
# 设置logger输入级别
logger.setLevel(logging.DEBUG)
# 创建日志格式器
formator = logging.Formatter(fmt="%(asctime)s [ %(filename)s ] %(lineno)d行 | [ %(levelname)s ] | [%(message)s]",datefmt="%Y/%m/%d/%X")
具体格式有如下:
%(levelno)s: 打印日志级别的数值
%(levelname)s: 打印日志级别名称
%(pathname)s: 打印当前执行程序的路径
%(filename)s: 打印当前执行程序名
%(funcName)s: 打印日志的当前函数
%(lineno)d: 打印日志的当前行号
%(asctime)s: 打印日志的时间
%(thread)d: 打印线程ID
%(threadName)s: 打印线程名称
%(process)d: 打印进程ID
%(message)s: 打印日志信息
# 创建一个输出的处理器,让它输入到控制台
sh = logging.StreamHandler()
# 1.创建一个把日志信息存储到文件中的处理器
# 要加编码,不然后可能会乱码
fh = logging.FileHandler("../log/test_log_01.log", encoding="utf-8")
# 把输出处理器添加到日志器中
logger.addHandler(sh)
# 给处理器添加格式器
sh.setFormatter(formator)
# 2.把文件处理器,加载到logger中
logger.addHandler(fh)
# 3.给文件处理器添加格式器
fh.setFormatter(formator)
# 输出日志信息
logger.debug('输出debug级别的日志')
logger.info('输出info级别的日志')
logger.warning('输出warning级别的日志')
logger.error('输出error级别的日志')
logger.critical('输出critical级别的日志')