在setting中
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]'
fh2_path = r'a1.log'
fh3_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文件的日志
'fh2': {
'level': 'DEBUG',
'class': 'logging.FileHandler', # 保存到文件
'formatter': 'standard',
'filename': fh2_path, # 日志文件的路径
'encoding': 'utf-8', # 日志文件的编码,再也不用担心中文log乱码了
},
# 打印到a2.log文件的日志
'fh3': {
'level': 'DEBUG',
'class': 'logging.FileHandler', # 保存到文件
'formatter': 'simple',
'filename': fh3_path, # 日志文件的路径
'encoding': 'utf-8', # 日志文件的编码,再也不用担心中文log乱码了
},
},
'loggers': {
'': {
'handlers': ['fh2', 'fh3', 'ch'],
'level': 'DEBUG',
},
},
}
使用:
import logging.config
import settings
logging.config.dictConfig(settings.LOGGING_DIC)
logger1=logging.getLogger('用户交易')
#logger1-> fh2,fh3,ch
logger1.info('转账1个亿')
logger2=logging.getLogger('用户权限')
#logger2-> fh2,fh3,ch
logger2.error('没有执行权限')
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。