0
点赞
收藏
分享

微信扫一扫

SpringBoot的热部署和日志

SpringBoot的热部署和日志

1、SpringBoot中devtools热部署

1.1、什么是热部署

1.2、如何开启SpringBoot热部署

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2、SpringBoot日志简介

2.1、门面

2.2、门面日志

2.2.1、log4j的门面日志

<!-- log4j日志核心依赖 -->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.14</version>
</dependency>

<!-- slf4j 的核心依赖 -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.31</version>
</dependency>

<!-- 添加slf4j  log4j的桥接器 -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.31</version>
</dependency>
log4j.rootLogger=trance, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
package cool.ale;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Log4jMain {
    public static void main(String[] args) {
        Logger logger = LoggerFactory.getLogger(Log4jMain.class);
        logger.info("log4j日志");
    }
}

2.2.2、jul的门面日志

<!-- 引入JCL门面依赖 -->
<dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
    <version>1.2</version>
</dependency>
package cool.ale;


import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;


public class JulMain {

    public static void main(String[] args) {
        Log log = LogFactory.getLog(JulMain.class);
        log.info("JCL日志");


    }
}
org.apache.commons.logging.Log = org.apache.commons.logging.impl.Jdk14Logger

2.3、统一日志

<!-- 为了统一日志实现,将JCL转化到SLF4J
 添加JCL-SLF4J的适配器
 -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
    <version>1.7.30</version>
</dependency>

3、SpringBoot日志集成

3.1、SpringBoot默认日志集成

3.2、SpringBoot日志使用

日志级别

package cool.ale;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

    // 声明一个日志记录器
    static Logger logger = LoggerFactory.getLogger(Application.class);

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);

        logger.trace("跟踪");
        logger.debug("调试");
        logger.info("信息");
        logger.warn("警告");
        logger.error("异常");
    }

}

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.3、SpringBoot日志格式

3.3.1、日志格式介绍

在这里插入图片描述

日志格式说明
2021-07-09 14:30:09.136日期和时间,毫秒精度,易于排序
TRACE,DEBUG,INFO,WARN,ERROR,FATAL或OFF。日志级别
5104进程ID
- - -日志配置文件中配置的静态格式
[ main]线程的名字,main代表主线程
cool.ale.Application记录日志的类名称
跟踪我们输出的信息

3.3.2、修改日期格式

logging:
  pattern:
    console: '%d{yyyy/MM/dd-HH:mm:ss}'

3.3.3、参数细讲

根据以上的日志格式,我们讲几个参数:

logging:
  pattern:
    dateformat: -yyyy-MM-dd

3.4、SpringBoot日志输出到文件

logging:
  file:
    #name: log.log
    path: D:/

3.5、SpringBoot日志归档

当我们设置如下配置:

logging:
  file:
    name: D:/logs/log.log
    max-size: 5KB

超过5KB后,就会产生如下效果:

在这里插入图片描述

3.6、SpringBoot日志自定义配置文件

注意:

配置文件中自定义变量

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
    <!-- 配置变量 -->
    <springProperty scope="context" name="dateFormat" source="logging.pattern.dateformat"
        defaultValue="-yyyy-MM-dd HH:mm:ss.SSS"/>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <!-- {100} 当前可输出 100 个字符 -->
            <pattern>%d{${dateFormat}} [%thread] %-5level %logger{100} - %msg%n</pattern>
        </encoder>
    </appender>
    <!-- 可以更细粒度的控制日志输出 -->
    <logger name="cool.ale" level="trace"></logger>
    <!-- 根目录的日志级别 -->
    <root level="error">
        <appender-ref ref="STDOUT" />
    </root>
</configuration>

3.7、SpringBoot切换日志框架

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <!-- 排除掉 starter-logging 也就是logback的依赖 -->
    <exclusions>
        <exclusion>
            <artifactId>spring-boot-starter-logging</artifactId>
            <groupId>org.springframework.boot</groupId>
        </exclusion>
    </exclusions>
</dependency>

<!-- log4j2的场景启动器 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

在这里插入图片描述

在这里插入图片描述

举报

相关推荐

0 条评论