On Jan 24, 2007, at 12:17 AM, Chris wrote:

Why does the logger force you to use Strings?

logger.info("some string here" + someValue);

In most cases, you're going to be creating some dynamic value that must be constructed, which means that you are always better off using a char array or a StringBuffer to build it. These buffers can be reused. A String, on the other hand, always creates unnecessary garbage.

Am I crazy, or was this just a poor design decision?

It seems pretty clear that there ought to be a method like this:

// initialized once
StringBuffer buf = ...

// to log a new message
buf.clear();
buf.append("some string here");
buf.append(someValue);
logger.info(buf);


Actually that should work, all the logging methods take an Object and call the toString() method to get a string when resolving the final message.

However if you are doing a lot of that type of stuff, I would suggest looking at the formatter project in the log4j sandbox, where you would do something like:

LogMF.info(logger, "some string here{0}", someValue);

log4j 1.3 has its own unusual formatting specification which would be something like:

logger.info("some string here{}", someValue);





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to