import logging # 1. 控制日志级别# 2. 控制日志格式# 3. 控制输出的目标为文件logging.basicConfig(filename=‘access.log‘, format=‘%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s‘, datefmt=‘%Y-%m-%d %H:%M:%S %p‘, level=10, ) logging.debug(‘debug日志‘) # 10logging.info(‘info日志‘) # 20logging.warning(‘warning日志‘) #30logging.error(‘error日志‘)#40logging.critical(‘critical日志‘) #50 # 火警的级别 # 大功率电器# 抽烟# 烧烤# 自焚# 烧房 # 1. 能够同时往终端与文件中记录日志# 2. 能够修改字符串编码 import logging # 1. logger对象: 负责生产各种级别的日志logger1 = logging.getLogger(‘用户交易‘) # 日志名用来标识日志的与什么业务有关 # 2. filter对象: 过滤日志 # 3. handler对象: 控制日志输出目标位置fh1 = logging.FileHandler(‘a1.log‘,encoding=‘utf-8‘)fh2 = logging.FileHandler(‘a2.log‘,encoding=‘utf-8‘)ch = logging.StreamHandler() # 4. formmater对象formatter1 = logging.Formatter( fmt=‘%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s‘, datefmt=‘%Y-%m-%d %H:%M:%S %p‘) formatter2 = logging.Formatter( fmt=‘%(asctime)s - %(levelname)s : %(message)s‘, datefmt=‘%Y-%m-%d %H:%M:%S %p‘) # 5. 绑定logger对象与handler对象logger1.addHandler(fh1)logger1.addHandler(fh2)logger1.addHandler(ch) # 6. 绑定handler对象与formatter对象 fh1.setFormatter(formatter1)fh2.setFormatter(formatter1)ch.setFormatter(formatter2) # 7. 设置日志级别,有logger对象与handler对象两层关卡,必须都放行最终日志才会放行,通常二者级别相同logger1.setLevel(10)fh1.setLevel(10)fh2.setLevel(10)ch.setLevel(10) # 8. 使用logger对象产生日志logger1.info(‘alex给egon转账1个亿‘) logging 固定模块
standard_format = ‘%(asctime)s - task:%(name)s - %(filename)s:%(lineno)d -‘ \ ‘ %(levelname)s : [%(message)s]‘ simple_format = ‘%(filename)s:%(lineno)d - %(levelname)s : [%(message)s]‘ fh1_path = r‘a1.log‘fh2_path = r‘a2.log‘ # log配置字典LOGGING_DIC = { ‘version‘: 1, ‘disable_existing_loggers‘: False, ‘formatters‘: { ‘standard‘: { ‘format‘: standard_format }, ‘simple‘: { ‘format‘: simple_format }, }, ‘filters‘: {}, ‘handlers‘: { #打印到终端的日志 ‘ch‘: { ‘level‘: ‘DEBUG‘, ‘class‘: ‘logging.StreamHandler‘, # 打印到终端 ‘formatter‘: ‘simple‘ }, #打印到a1.log文件的日志 ‘fh1‘: { ‘level‘: ‘DEBUG‘, ‘class‘: ‘logging.FileHandler‘, # 保存到文件 ‘formatter‘: ‘standard‘, ‘filename‘: fh1_path, # 日志文件的路径 ‘encoding‘: ‘utf-8‘, # 日志文件的编码,再也不用担心中文log乱码了 }, # 打印到a2.log文件的日志 ‘fh2‘: { ‘level‘: ‘DEBUG‘, ‘class‘: ‘logging.FileHandler‘, # 保存到文件 ‘formatter‘: ‘simple‘, ‘filename‘: fh2_path, # 日志文件的路径 ‘encoding‘: ‘utf-8‘, # 日志文件的编码,再也不用担心中文log乱码了 }, }, ‘loggers‘: { ‘‘: { ‘handlers‘: [‘fh1‘, ‘fh2‘, ‘ch‘], ‘level‘: ‘DEBUG‘, }, },}
原文地址:https://www.cnblogs.com/liu--huan/p/9456907.html
时间: 2024-12-01 17:47:21