在setting中
standard_format = '%(asctime)s - task:%(name)s - %(filename)s:%(lineno)d -' \
成都創(chuàng)新互聯(lián)公司專注于洛川企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。洛川網(wǎng)站建設(shè)公司,為洛川等地區(qū)提供建站服務(wù)。全流程按需定制網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
' %(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', # 日志文件的編碼,再也不用擔(dān)心中文log亂碼了
},
# 打印到a2.log文件的日志
'fh3': {
'level': 'DEBUG',
'class': 'logging.FileHandler', # 保存到文件
'formatter': 'simple',
'filename': fh3_path, # 日志文件的路徑
'encoding': 'utf-8', # 日志文件的編碼,再也不用擔(dān)心中文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('轉(zhuǎn)賬1個(gè)億')
logger2=logging.getLogger('用戶權(quán)限')
#logger2-> fh2,fh3,ch
logger2.error('沒有執(zhí)行權(quán)限')