2

在我的应用程序中,我使用了两个按钮:一个用于开始记录 RS422 链接消息,一个用于停止记录。

第一次,应用程序正确运行:创建带有消息的 .txt 文件。第二次,当我点击开始按钮时,一个新的 . 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()

有人有想法吗?

4

2 回答 2

2

如果你想停止这样的记录,你必须删除处理程序,使用Logger.removeHandler()方法

def stop_clic(self):
    logger=logging.getlogger("CFD")
    logger.setLevel(logging.WARNING)
    logger.removeHandler(filehandler)
    filehandler.close()

否则将继续使用。

于 2013-01-25T14:50:07.343 回答
0

在 3.2 中不确定,但在 3.6 中你可以这样做:logger.disabled = True

于 2021-05-19T21:57:17.403 回答