Je voudrais formater mon message de journal avant d'être imprimé sur la console LOGGER.FINE P>
E.g. Comment puis-je formater "{0} a {1} pommes avec lui", de sorte que les entrées sont John et 10 P>
Je préférerais un cadre de journalisation qui fournit une solution à cela et je ne veux pas formater ces messages séparément. Les classes de journalisation spécifiques de JDK6 ne semblent pas avoir cette granularité. P>
3 Réponses :
Il suffit d'utiliser string.format code>:
String.format aura une pénalité de performance lorsqu'il sera utilisé directement pour la journalisation
Utilisez MessageFormat :
String s = String.format("%1$s has %2$d apples with him", "John", 10);
Pour des cas simples comme celui-ci, vous pouvez simplement laisser le 1 $ code> et
2 $ code> et utiliser
"% s a% d pommes avec lui" code> pour
string.format () code>.
+1 pour MessageFormat - J'ai pu convertir toutes mes relevés de journal pour utiliser MessageFormat très peu d'effort
Même avec Just JDK Logging, vous pouvez utiliser un formateur code>
pour gérer la mise en forme de messages de journal avec des paramètres.
pour (un simpliste) Exemple: p>
java.util.logging.ConsoleHandler.formatter = com.example.MyFormatter
Si vous utilisez SLF4J , vous pouvez écrire:
log.debug ("{} a {} pommes avec lui "," John ", 10); code> slf4j a une liaison qui redirige vers
java.util.logging code>.
Veuillez reformuler la question. La tokéninzation consiste à briser une chaîne en pièces constitutives et génère des sorties non des entrées. Votre exemple suggère que vous vous demandez comment formater, non pas de tokeniser.