If I kept a tally of the lines of code that I have written in each language over the course of my life, it would probably show that Java is the language that I have used the most. Java has its good and bad points, but one of the things that I really like about developing applications in Java is all the different logging frameworks that are available.
These logging frameworks make it incredibly effortless to turn on log messages, which makes debugging very easy while the application is being developed. These debugging messages can then be turned off when it is time to build the production release of the application. To do this, these logging frameworks let us define how and where we wish to log the messages for predefined log levels. Logging levels can also be ignored if we do not need them. The log levels range from Info (used purely for debugging), all the way...