我的问题:

  1. 在项目中由于在做个py文件中定义了handlers,导致在项目中定义几次就会重复几次

正确的处理办法

  1. 只在一个文件中定义内容,然后在其他的py文件中引用即可
import os 
import logging 
from logging.handlers import TimedRotatingFileHandler 
 
BASE_DIR = os.path.dirname(os.path.abspath(__file__)) 
# log file 
 
LOG_FILE = os.path.join(BASE_DIR, 'data/info.log') 
 
logger = logging.getLogger("Rotating Log") 
logger.setLevel(logging.INFO) 
 
handler = TimedRotatingFileHandler(LOG_FILE, 
                                   when="D", 
                                   interval=1, 
                                   backupCount=5) 
logger.addHandler(handler) 
logging = logger 

更新:

LOG_FILE = os.path.join(BASE_DIR, 'data/info.log') 
 
logger = logging.getLogger("Rotating Log") 
logger.setLevel(logging.INFO) 
formatter = logging.Formatter('%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s') 
 
handler = TimedRotatingFileHandler(LOG_FILE, 
                                   when="S", 
                                   interval=1, 
                                   backupCount=5) 
handler.setFormatter(formatter) 
logger.addHandler(handler) 
 
 
# file_handler = logging.FileHandler(LOG_FILE) 
# file_handler.setLevel(level=logging.INFO) 
# file_handler.setFormatter(formatter) 
 
# 可以打印到控制台 
# stream_handler = logging.StreamHandler() 
# stream_handler.setLevel(logging.DEBUG) 
# stream_handler.setFormatter(formatter) 
 
# logger.addHandler(file_handler) 
# logger.addHandler(stream_handler) 
 
logging = logger 
 
 

发布评论
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

Python reportlab table 设置cellstyle枚举,设置单元格padding知识解答
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。