Log4j is an open-source logging framework that helps developers to capture logging statements in java applications. It is fully configurable and can be configured using external configuration files.
Log4j can be configured to publish different priority level messages in separate files; developers can log error messages in a separate file thus reducing the effort of searching errors in large files
Perf4j is an open source logging framework used primarily for monitoring performance statistics in java applications. Log4j has the ability to integrate with perf4j to capture performance data.
Slf4j is a high level logging framework. Its serves as a facade and the actual logging is performed by the underlying logging framework which can be determined at runtime.
The concept of condition beans enables Spring to restrict the creation of any bean depending on the evaluation of a condition. These beans get created only when a preset condition is evaluated as true