我正在使用logback库在一个Spring Boot项目中实现日志记录。我想根据我的Spring配置文件(属性spring.profiles.active
)加载不同的日志记录配置文件。我有3个文件:
- logback-dev.xml
- logback-inte.xml
- logback-prod.xml
我正在使用Spring Boot版本1.2.2.RELEASE。
正如您可以在Spring Boot文档中阅读到的:
各种日志系统可以通过在类路径上包含适当的库来激活,并通过提供位于类路径的根目录或由Spring环境属性logging.config指定的位置的适当配置文件进行进一步自定义。(但请注意,由于日志记录是在创建ApplicationContext之前初始化的,因此无法从Spring @Configuration文件中的@PropertySources控制日志记录。系统属性和常规的Spring Boot外部配置文件完全可以工作。)
所以我尝试在我的application.properties文件中设置logging.config
属性:
logging.config=classpath:/logback-${spring.profiles.active}.xml
但是当我启动我的应用程序时,我的logback-{profile}.xml没有被加载。
我认为日志记录是所有使用Spring Boot的项目都会遇到的常见问题。我采取的上述方法是否正确?
我有其他可行的解决方案,但我发现它们不够优雅(在logback.xml文件中使用Janino进行条件解析或命令行属性)。