I have started using Aspects to weave in the log statements in the code at run time. The advantage I get is I can weave at class or package level and it allows me to switch off the logging if not required. The amount of code to be written also gets reduced by 20% leading to smaller code base and improved productivity.
There is no substitute for step debugging and gleaning the code.
I recently contracted a job now that it is done. The companies on boarding wants me to write all of the tools for them. That will make their life’s as the tech support easier. That’s all fine and dandy, but me building them a bug tracking, log error reporting system, was not what I was contracted to do.
And to top that off, they want me to write so many comments, that my code will look like the incredible Hulk.