Bonjour,
Je suis en train de finir mon petit soft et pour surveiller son comportement j’ai mis un log.
je rempli actuellement ce log, pas de pbm.
j’ai cherché sur le net comment faire pour afficher le n° des lignes où se trouvent les erreur. J’ai bien sur commencé par l’écrire à la main, mais quand on ajoute ou enlève des lignes, ça change…
j’ai trouvé ce code ; [Python 3.X] Comment récupérer le numéro de ligne en cours dexécution dans le script - Python
import inspect
inspect.getsource(os)
==========code============
lineno = lambda: inspect.currentframe().f_back.f_lineno
mytest = lineno()
mytest = mytest + 'mon erreur'
#appel de la fonction log
ecrirelog(mytext)
def écrirelog(mytext):
openfile ,a etc.
file.write(mytext + txt + '\n')
file.close
========================
ce code fonctionne sur mon projet et fourni un log parfait depuis pycharm (PyCharm 2021.3.2 (Community Edition)) Runtime version: 11.0.13+7-b1751.25 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.):
150 mon erreur, mon text (par exemple)
Mais une fois l’applicatif créé (je crée l’appli avec cx_freeze), ça ne fonctionne pas : l’appli ne démarre pas. je précise que l’appli compilée sans cette partie (que je viens de rajouter) fonctionne parfaitement sur 2 pc différents. (w10 et w11) .
j’ai remis l’ancienne façon de faire le log avec un time stamp des infos.
c’est dommage, car ça fait un log plus facile à lire et plus sympa à débuger…
qui sait comment faire un log avec les numéros de ligne ?
J’ai pas mal cherché et j’ai aussi trouvé des trucs très compliqués ou pas pour python…
Qui aurait une idée simple?
d’avance merci,
jym83