The message "Returning a cached instance of a singleton bean" is registered by Spring at the DEBUG level (at AbstractBeanFactory ). Spring writes a lot of messages at the DEBUG level, by design. If you look at your log files at this level, they will always be full of logarithmic noise like Spring hunters, performing their task.
You cannot suppress certain messages with log4j, the best you can do is suppress certain registrars. However, viewing logs at the DEBUG level is not a good idea if you are not debugging when looking for messages about what Spring is doing deep inside.
For normal operation, you must put the INFO threshold in your log files.
source share