logback和SpringBoot的爱恨情仇
1.logback-spring.xml和logback.xml:
2.springProfile使用:
前言
总结
前言
logback是SpringBoot中默认的日志框架,两者相结合就可以在不同的环境实现不同的日志配置效果。
1.logback-spring.xml和logback.xml:
在resources目录下面,如果你去测试的话会发现logback-spring.xml和logback.xml都可以使项目运行,直观上并不会看出来两者的不同,但是当使用springProfile去区分不同的环境的时候会有error级别的日志输出。图示报错: 图示不报错: 是不是很神奇,如果你遇到的话可能也会困惑,这是为什么?原因就是如果项目中配置的名称是logback.xml,logback会先与Spring之前加载日志配置,这时日志文件中的springProfile的配置是无效的。所以把logback.xml改为logback-spring.xml就可以了。
2.springProfile使用:
在logback中使用springProfile可以干啥呢:变量根据环境改变:
<property name="applicationName" value="wx-small"/>
<springProfile name="dev">
<property name="applicationName" value="wx-small111"/>
</springProfile>
日志级别调整:
<!-- 生产环境. -->
<springProfile name="prod">
<root level="INFO">
<!-- 文件输出 -->
<appender-ref ref="ERROR"/>
<appender-ref ref="INFO"/>
<appender-ref ref="WARN"/>
</root>
</springProfile>
当然还有其他的用途,就不再一一列举。当然我们在logback中使用的时候需要提前创建出来不同环境的属性文件:application-dev.properties、 application-test.properties、 application-prod.properties 还有pom文件里面的配置:
<!--打包配置参数-->
<profiles>
<profile>
<id>dev</id>
<properties>
<env>dev</env>
</properties>
<!--可切换默认打包方式-->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>test</id>
<properties>
<env>test</env>
</properties>
</profile>
<profile>
<id>pre</id>
<properties>
<env>pre</env>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<env>prod</env>
</properties>
</profile>
</profiles>
总结
这就是简单的说明了下logback的命名问题和配合springProfile使用的配置,这个我感觉对于报错搞不明白的同学来说还不错,欢迎关注交流,分享、点赞、赞赏。