在我的应用程序中,我使用两个按钮:一个用于START记录RS422链接消息,另一个用于STOP记录。
第一次,应用程序正确运行:使用消息创建.txt文件。 第二次,当我点击START按钮时,一个新的。创建了txt文件,但现在,消息正在此文件中记录,但也在第一个.txt文件中记录。
请参阅我的代码:
def start_clic(self):
logger=logging.getlogger("CFD")
stringfilename=datetime.now().strftime('log_%Y_%m_%H_%M.txt')
filehandler=logging.FileHandler(stringfilename)
formatter=logging.Formatter('%(asctime)s %(message)s')
logger.addHandler(filehandler)
logger.setLevel(logging.INFO)
def stop_clic(self):
logger.setLevel(logging.WARNING)
filehandler.close()
有人有想法吗?
答案 0 :(得分:2)
如果您想使用Logger.removeHandler()
method停止此类记录,则必须删除处理程序:
def stop_clic(self):
logger=logging.getlogger("CFD")
logger.setLevel(logging.WARNING)
logger.removeHandler(filehandler)
filehandler.close()
否则它将继续被使用。
答案 1 :(得分:0)
在 3.2 中不确定,但在 3.6 中你可以这样做:logger.disabled = True