OLIVIER CAYRON wrote:
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é.

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...

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.

>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 ?

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

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

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..

- compiler les nouveau .java

Bon, c'est loin d'être élégant, mais bon, pour l'instant,
le quick and dirty me satisfait.

Pour moi c'est loin d'être dirty... ou alors tu as une idée géniale que je n'arrive pas à saisir.

Merci.

Olivier


Répondre à