Affects Version/s: 5.0.15
Fix Version/s: 5.0.16
While debugging with Tapestry5, I noticed one not-so-nice issue. But first, a bit of background.
I usually configure my logging framework (log4j) to log all statements for my application at debug level during development. E.g. all log records logged to "com.mycompany.myapp" logging category get printed at DEBUG level. All other categories are usually at INFO level. This allows me to focus on the log statements that I have written and ignore all the verbose DEBUG logs of 3rd party libraries.
Back to Tapestry5. I have configured by log4j as usual (my stuff at DEBUG level, everything else at INFO level). Although I expect to see only the log output produced by MY CODE, I also see some debug output produced by Tapestry internals. Seems that Tapestry class enhancement code logs to the same log category as the class name being enhanced. And the log statements are quite big (documenting the changes being made to the original classes), resulting in lots of unwanted noise in my logs.
I have a page: com.mycompany.myapp.pages.MyPage
T5 class enhancement code logs its bytecode manipulation operations to log category "com.mycompany.myapp.pages.MyPage", at DEBUG level.
This is not very nice, as I'm totally uninterested in seeing all this verbose T5-internal logging.
I understand that it might be beneficial to have that class name as part of the logging category (or maybe not), but at the very least, I would recommend to add a T5 prefix to all those categories. The log category in above example would then become something like "org.apache.tapestry.classenhance.com.mycompany.myapp.pages.MyPage".