Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] backtrace

Posted by nORKy on 07/24/2006 15:12

Ca pourrait être interessant d'avoir un mot clé 'BKTRACE' pour les logs qui ferait un backtrace (voir fonction php debug_backtrace) et qui se 'rajoute' à l'entrée du mot clé suivant (ECHO, SYSLOG, MAIL, ...)

  [Opened] Re: backtrace

Reply #1 Posted by bballizlife on 07/26/2006 09:54

et qui se 'rajoute' à l'entrée du mot clé suivant (ECHO, SYSLOG, MAIL, ...)

Excuse moi mais je n'ai pas bien compris où tu voulais en venir. Tu pourrais expliquer ça un peu plus clairement stp ?


N'importe comment c'est dans la doc

  [Opened] Re: backtrace

Reply #2 Posted by nORKy on 07/27/2006 10:30

Lorsqu'un utilisateur developpe une appli, il aimerait pt etre avoir un backtrace lorsqu'un erreur est généré.

Il pourrait donc mettre par exemple dans son fichier de conf, section error_handling :

 default = BKTRACE ECHO EXIT

Ainsi, ca affichera donc son erreur (ECHO) et afficherai un backtrace pour mieux déterminer ou viendrai son erreur de code (BKTRACE) et puis fais un exit (EXIT)

  [Opened] Re: backtrace

Reply #3 Posted by bballizlife on 07/28/2006 12:12

Oui, je vois un peu mieux ce que tu veux dire. Cette solution est à étudier.

Une autre solution est envisageable, tout du moins, nous l'avons évoqué avec laurent. Elle serait de fournir une version de Jelix spécifique au développement dans laquelle nous aurions ajouté des jLog::log() un peu de partout (enfin surtout là où c'est intéressant). Ainsi, il suffirait de suivre les logs des actions pour remonter plus facilement à la sources d'éventuels problèmes. Et comme nous avons le préprocesseur, il serait facile de fournir une version de production sans tous ces logs et surtout sans code mort ou plein de tests ala if($mode=='dev') { jLog::log(); }


N'importe comment c'est dans la doc

  [Opened] Re: backtrace

Reply #4 Posted by nORKy on 07/28/2006 14:21

c'est une possibilité d'utiliser le préproc comme ca. Mais meme si ca disparait apres le passage du preproc, ca encombre quand beaucoup le code pour ceux qui mettent le nez dedans avant de passer le preproc.

  [Opened] Re: backtrace

Reply #5 Posted by laurentj on 08/22/2006 10:23

Interressant comme idée ce BKTRACE.

Norky : tu peux inscrire ton idée sur https://developer.berlios.de/feature/?group_id=5643 ?

(ou si tu as un patch : https://developer.berlios.de/patch/?group_id=5643 ;-) )

merci :-)

  [Opened] Re: backtrace

Reply #6 Posted by laurentj on 08/23/2006 00:25

Finalement, j'ai ajouté deux mots clé : TRACE et ECHOQUIET.

TRACE ordonne d'afficher donc la pile d'appel, mais uniquement dans les fichiers de log (donc avec LOGFILE, SYSLOG ou MAIL). L'affichage direct imposant des modifs que je n'ai pas encore eu le temps de faire, et surtout est assez compliqué du fait du formatage à faire (qui doit donc être pris en charge par chaque objet response...)

Je pense qu'inscrire dans les fichiers de log, suffit non ? (sous linux, un tail -f sur le error.log permet de monitorer le flux des erreurs sans perturber l'affichage).

J'ai aussi ajouté ECHOQUIET. ça affiche un message d'erreur "discret", sans détail : "error(123)" suivi d'un message situé dans une nouvelle option, quietMessage, à indiqué dans la section error_handling. Utile donc pour un site en production (à utiliser conjointement avec un LOGFILE bien entendu, pour avoir un historique détaillé des erreurs).

  [Opened] Re: backtrace

Reply #7 Posted by nORKy on 08/23/2006 20:36

oui, c'est bien, un format brut suffit, voir, tu fais un system de format que tu as déjà fait (%f pour nom de fichier, %l pour ligne, etc..)

 
Page
  1. backtrace