Hi Sergiu, there is a small point against 2: Vincent stated that the current best practice is: logger.debug(String.format("text with %s in format syntax", var1, var2,...); http://n2.nabble.com/Hibernate-3.3.1-upgrade--tt1084964.html which would mean, that not only the Logger call has to be touched, but also the message has to be migrated. That could mean additional work in a full transition. The mentioned performance penalty can be probably be softened when using the Formatter directly (and keeping it) instead of String.format(). (Which always does somthing similar to: "return new Formatter(msg).format(args);" ) But I like the MessageFormat better in terms of readability. I dislike the mandatory(?) positional parameters. just three thoughts, Greetings Jonas Sergiu Dumitriu wrote:
Hi devs,
I'd like to apply http://jira.xwiki.org/jira/browse/XWIKI-2667 , but one thing I'd like to change is the format of the log messages. The current patch uses String.format, but I prefer MessageFormat, as it is more expressive, and it is already used by the localization tool.
So: 1. We use String.format, because: - it is "simpler" (some say) - it is familiar to C/C++ programmers - it is a bit more customizable at the finer level - the code is already written
2. We use MessageFormat, because: - it is already used for localization strings - it is more expressive (I really like the "choice" format) - it is apparently less customizable, but it uses good defaults (I'd rather specify that I want a "long" date format than a "DD MMMM HH:mm:ss z" format) - the changes are minimal - I for one prefer this syntax, rather than the old printf one.
My +1 for option 2.