Logging
There are several logging frameworks available for Java and each has advantages and disadvantages. There is one built into JDK in the java.util.logging package and accessing the logger is supported by the System.getLogger method: the System.Logger and System.LoggerFinder classes. Even though java.util.logging has been available in Java since JDK 1.4, a lot of programs use other logging solutions. In addition to the built-in logging, we have to mention log4j, slf4j and Apache Commons Logging. Before getting into the details of the different frameworks, let's discuss why it is important to use logging instead of just printing to the standard output.
Configurability
The most important reason is configurability and ease of use. We use logging to record information about the operation of code. This is not the core functionality of the application but is inevitable to have a program that can be operated. There are messages we print out to the log, which can be used by the operating personnel...