logback和SpringBoot的爱恨情仇

Posted Java时间屋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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使用的配置,这个我感觉对于报错搞不明白的同学来说还不错,欢迎关注交流,分享、点赞、赞赏。


以上是关于logback和SpringBoot的爱恨情仇的主要内容,如果未能解决你的问题,请参考以下文章

深度学习 与 C++ 的爱恨情仇

对json的爱恨情仇

初学者对C语言中指针的爱恨情仇

前端后端的爱恨情仇

C++与C语言的爱恨情仇,三天三夜都说不完

AndroidHandlerLooperMessageQueue之间的爱恨情仇