Iniciar y detener el registrador en Python 3.2

En mi aplicación, uso dos botones: uno para iniciar la grabación de los mensajes de enlace RS422 y otro para DETENER el registro.

La primera vez, la aplicación se ejecuta correctamente: Creación de un archivo .txt con los mensajes. La segunda vez, cuando hago clic en el botón START, aparece una nueva. Se crea el archivo txt pero, ahora, los mensajes se graban en este archivo pero también en el primer archivo .txt.

Ver mi codigo

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() 

¿Alguien tiene una idea?

Tendrá que eliminar los controladores si desea detener el registro de esa manera, utilizando el método Logger.removeHandler() :

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

De lo contrario se seguirá utilizando.