为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第四天 配置logback日志与多环节profile

标签:
Java

课程名称:Spring Cloud 进阶 Alibaba 微服务体系自媒体实战
课程章节: 第2章 架构后端项目
主讲老师: 风间影月

课程内容

logback日志

  • 在SpringBoot当中,默认使用的日志框架为ch.qos.logback的日志框架

https://img1.sycdn.imooc.com//631b5d9e00011e0f07210522.jpg

  • 我们需要将logback-spring.xml导入到项目工程当中。

    • property的name属性为LOG_HOME是规定项目日志存储的路径。

    • appender是设置日志输出方式,在课程当中使用了两种,一种是控制台输出,另一种是文件输出。具体代码如下

 <!-- Console 输出设置 -->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
            <pattern>%white(%d{mm:ss.SSS}) %green([%thread]) %cyan(%-5level) %yellow(%logger{36}) %magenta(-) %black(%msg%n)</pattern>
            <charset>utf8</charset>
        </encoder>
    </appender>

    <!-- 按照每天生成日志文件 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 日志文件输出的文件名 -->
            <fileNamePattern>${LOG_HOME}/service-admin.%d{yyyy-MM-dd}.log</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
    • 通过root标签可以设置日志等级。

<root level="info">
        <appender-ref ref="FILE"/>
        <appender-ref ref="CONSOLE"/>
</root>

logback日志使用:

final static Logger logger = loggerFactory.getLogger(HelloController.class);
logger.info("XXX");

多环境profile

在实际的企业开发当中,实际上是会分为多个运行环节。比如:开发环境、测试环境、生产环境等等

配置dev(开发环境)环境:

spring:
	profiles:
  	active: dev

然后创建application-dev.yml,SpringBoot会自动去匹配dev这个后缀,与avtice保持一致。

课程收获

  • logback-spring.xml配置详细介绍

(1)主要结构

根节点< configuration >包含以下属性:

scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。

scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。

debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。

  • 多环境配置

1.创建多环境配置文件

创建多环境配置文件时,需要遵循Spring Boot允许的命名约定来命令,格式为application-{profile}.properties,其中{profile}为对应的环境标识。

我们在resources目录下分别创建application-dev.properties、application-test.properties、application-prod.properties三个配置文件,对应开发环境、测试环境和生产环境。

application.properties为项目主配置文件,包含项目所需的所有公共配置。

application-dev.properties为开发环境配置文件,包含项目所需的单独配置。

application-test.properties为测试环境配置文件。

application-prod.properties为生产环境配置文件。

2. 修改配置文件

通常情况下,开发环境、测试环境和生产环境使用的数据库是不一样的,所以接下来以不同环境配置不同数据库为例来演示多环境的配置。

首先我们修改application.properties,修改配置系统的启动端口:

server.port=8088

application.properties 文件包含项目所需的所有公共配置,这里配置系统的启动端口,所有环境的启动端口都是8088。

然后我们可以修改dev、test、prod的环境配置,比如我们增加数据库的连接配置。

首先在pom.xml文件中引入依赖

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

在dev文件中增加数据库连接:

# 指定数据库驱动
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# 数据库jdbc连接url地址
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test
# 数据库账号密码
spring.datasource.username=root
spring.datasource.password=123456

其他环境的配置文件修改对应的配置连接即可。

3. 多环境的切换

上面我们配置了多环境,那么在实际测试、运行过程中如何切换系统运行环境呢?

我们通过修改application.properties配置文件中的spring.profiles.active配置项来激活相应的运行环境。如果没有指定任何profile的配置文件,springboot默认会启动application-default.properties(默认环境)

最后通过java -jar命令启动项目时,需要指定启动环境:

java -jar xxx.jar --spring.profiles.active=dev

在程序打包之后,可以在命令行中使用java-jar的方式启动,并设置启动参数spring.profiles.active=dev,以开发环境为默认配置。

课程截屏

https://img1.sycdn.imooc.com//631b5dae0001f0ad07460427.jpg

https://img1.sycdn.imooc.com//631b5db7000135a107440441.jpg

https://img1.sycdn.imooc.com//631b5dc000017a3c07480418.jpg

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
1
获赞与收藏
2

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消