OLIVIER CAYRON wrote:
L'utilitaire utilisant le compilateur c'est exactement une étape de prepocessing de tes classes .java pour moi. Et contrairement a ce que tu dis apres , c'est la solution la plus propre je pense...RE: Log Salut !
>-----Message d'origine-----
>De : Bruno Marquie [mailto:[EMAIL PROTECTED]]
>Envoyé : mardi 3 juin 2003 10:44
>À : [EMAIL PROTECTED]
>Objet : Re: Log
>Je sais pas si j'ai bien compris mais pour moi il y a
> quelque chose qui cloche dans ton raisonnement.J'ai pas dû être trop clair, alors.
>Tu veux modifier le bytecode généré pour remplacer les
>commentaires par des instructions ? Mais il y a plus de
>commentaire dans le bytecode, non?C'est pour cela qu'il y avait 2 choix. Le premier par un
utilitaire utilisant le compilateur, le deuxième en tapant
dans le code déjà généré.
Ta deuxieme idée, alors là c'est la prise de tête assurée. Il n'y aura pas exacte correspondance entre un code décompilé et ton code source,donc les lignes ne correspondront pas.. puis même si ca marchait, ca serait vraiment très chiant à utiliser.
Oui temporairement comme tu le dis en dessous : une tache ant qui au lieu de compiler directement ton .java lui fait d'abord subir un traitement : la transformation de tes commentaires (format XML ou non) en instructions de log. Puis ensuite la vrai compil
>Ou alors tu envisages d'avoir en parallele de ton traitement
>du bytecode ton .java? c'est pas gagné...
>Pourquoi ne pas modifier le .java directement (temporairement)
>et compiler ensuite ton .java?Temporairement ? Tu veux dire en recopiant mes .java
avant de les compiler ou il y a une astuce pour le faire à la volée ?
C'est exactement ce a quoi je pensais... A part que je pensais utiliser un parser XML et donc des balises XML pour tes commentaires, plutot que la tache replace de Ant et donc des commentaires normaux..
>Tu mets des balises XML dans ton code, style :
><WARN> commentaire </WARN>
>et tu parses ton code java pour remplacer par avec tes
>system.out ou Logger.warn();Je ne suis pas bien sûr que des balises XML rendent le code
plus lisible (faut que je teste, on sait jamais).Cependant, ton idée m'en donne une autre qui devrait me permettre
de faire cela rapidement en attendant d'avoir une idée plus
lumineuse :
- copier mes .java
- remplacer avec la tache replace de ant les // WARN toto WARN //
par logger.warn( toto );
Pour moi c'est loin d'être dirty... ou alors tu as une idée géniale que je n'arrive pas à saisir.- compiler les nouveau .java
Bon, c'est loin d'être élégant, mais bon, pour l'instant,
le quick and dirty me satisfait.
Merci.
Olivier
