Recently I added support for Spring Cloud Config to Log4j.  In an effort to 
continue to persuade Spring to use Log4j as the default Logging implementation 
I would like to consider other ways we could improve our Spring integration. 
The problem is, I am not really sure what that would be. 

Currently, Spring uses a lowest common denominator approach in that you can 
configure root logging levels in application.yaml but it doesn’t support 
declaring appenders or filters. I’ve thought about being able to add the log4j 
logging configuration to the application.yaml, but Spring Boot actually 
initializes logging 3 times - once in SpringApplication.java where it has an 
SLF4J logger declared, again in Spring’s “boot” logger, and lastly when it 
initializes logging for the application. I am pretty sure only this last one 
would have any hope of being able to use the application.yaml and even then I 
am not sure if the logging configuration happens before it is available to be 
accessed.  I also thought about creating a Spring Lookup to be able to access 
Spring properties, but again if Log4j initializes before Spring the variables 
would not be available.

Thoughts or ideas?

Ralph

Reply via email to