Question: why slf4j is better than log4j?
Answer: By using SLF4j, you can defer String creation at the runtime, which means only required Strings will be created. If you have been using LOG4j then you already familiar with a workaround of putting debug statement inside if() condition, but SLF4j placeholders are much better than that.