在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('没有执行权限')