I’ve been working with a company that, in this current project, has to implement a policy of writing lots of trace logging in code (JAVA) that has already been completed for some time.
I am trying to avoid changing every single method just to write a logger.log(‘desired values’) like code line on all of them. it’s just too counter-productive.
Is there a generic way to log a method name, the parameters that it received, without changing much of the code? I’ve been researching annotations and stuff like that but there are a lot of methods with different parameters so i haven’t been able to come up with a good solution.
EDIT 1:
The project is being developed on eclipse. I’m doing some changes in a portal using Liferay and JBoss.
EDIT 2:
I’ve followed a solution given to me here and used interceptors. The only change i had to do to the existing methods was to add an annotation to them, which was quite acceptable.
For more info search in this link:
http://docs.oracle.com/javaee/6/tutorial/doc/gkeed.html
You can use interceptors http://docs.oracle.com/javaee/6/tutorial/doc/gkeed.html to intercept calls to public methods without any code changes, it is impossible to use this technique with non-public methods though.