[jboss-user] [JBoss Seam] - Re: Issues moving from Seam 1.1.0 to Seam 1.1.5
norman.richards@jboss.com
do-not-reply at jboss.com
Wed Feb 7 17:03:26 EST 2007
Ok, let's take a step back. You are making a big deal out of a misunderstanding of what seam is doing combined with a bug in seam.
Seam log messages are structured messages. You can:
1 - log contextual state using expressions, without needing to inject values and invoke methods.
2 - log formatted data easily
3 - eliminate overhead from message creation (string buffer builders, etc...) when the message is not logged - without needing to uglify your code with isLogged() tests.
For that you only have pay one small price - your log messages need to be a format string, like a printf. You wouldn't printf("this is the message " + someOtherData), would you? You would printf("this is the message %s", someOtherData) because if someOtherData had format codes, it would get messed up.
That's all that is happening here. You are using a raw text string as a message string. If you want to log a raw string, call log("#0", yourRawTextString). There's no magic here. There's nothing scandalous or shocking here. It's simply a format string.
You happened to not run into this before because of a bug in Seam 1.1 that didn't interpolate correctly when no parameters were passed in. This happened to be magnified by a recent change I made that caused an exception to be thrown when called with a bad format string. I fixed that issue so that it won't complain loudly when the user has an error in his format string.
I really don't know what to say. If you'd like a logging method that doesn't use a format string, open a JIRA issue. I don't think I see a need to explode the API further, but its worth consideration.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4012675#4012675
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4012675
More information about the jboss-user
mailing list