Comment utiliser un faulthandler?
Bonjour,
j'ai un petit programme installé sur un PC auquel il m'est difficile de me connecter (réseau bloquant) qui devrait tourner H24 mais qui plante aléatoirement (mais pas chez moi bien sûr...)
Le collègue qui l'utilise (à l'autre bout de la France évidemment) est fréquemment obligé de le relancer le matin en arrivant au taf, mais pas de message d'erreur...
J'ai ajouté un try pour voir si un rigolo s'amuserait pas à le fermer dans son dos ou si une exception se produit:
Code:
1 2 3 4 5
| except KeyboardInterrupt:
logger.exception("Fermé par interruption clavier")
except Exception as e:
logging.basicConfig(filename='crash.log')
logging.exception("CRASH:", e) |
mais rien ne sort sur le fichier de log et pas de création de fichier crash.log.
Du coup je me tournais vers la bibliothèque faulthandler mais je ne comprends pas comment ça marche :oops:
Voici le bout de code que j'utilise pour essais:
Code:
1 2 3 4 5 6
| import faulthandler
if __name__ == "__main__":
with open("crash.log","w") as fichier:
faulthandler.enable(file=fichier)
while True:
pass |
Mais si je ferme la fenêtre (clic droit, fermer, OK pour "Do you want to kill?") , pas de message d'erreur dans crash.log :(
Qu'est-ce que j'ai raté?
Merci d'avance!