They are nothing but APIs provided the logging frameworks. Logger.debug writes out a log message with a DEBUG level(something similar to what you would have done using System.out.println statements in your code). Logger.isDebugEnabled tells whether the DEBUG level of the logger is enabled or not.
why this will placed under init() of a servlet
They can be placed anywhere not just the init method, and as i already mentioned, they just write out the log messages. It's like asking what's the purpose of using
in the init of a servlet
You might find these a good read:
Log4j Manual