zoukankan      html  css  js  c++  java
  • 4. SpringBoot整合devtools & Lombok & logback

    一、 SpringBoot整合devtools(热部署 仅需依赖)

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

    二、 SpringBoot整合lombok(自动生成getter setter 构造方法 toString)

    1. 引入依赖

      <dependency>
          <groupId>org.projectlombok</groupId>
          <artifactId>lombok</artifactId>
          <version>1.18.10</version>
          <scope>provided</scope>
      </dependency>
      
    2. 实体类常用注解

      import lombok.AllArgsConstructor;
      import lombok.Data;
      import lombok.NoArgsConstructor;
      import lombok.extern.slf4j.Slf4j;
      
      // getter setter
      @Data
      // 无参构造
      @NoArgsConstructor
      // 有参构造
      @AllArgsConstructor
      // 自动生成日志对象
      @Slf4j
      public class Demo {
          private Integer id;
          private String name;
          private Integer age;
      }
      
    3. 下载idea对lombok支持的插件

    三、日志(定位错误显示运行状态)

    SpringBoot默认支持logback

    logback配置文件 logback-spring.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration scan="true" scanPeriod="60 seconds" debug="false">
        <appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
            <!-- 在IDE中运行, 控制台输出全部日志 -->
            <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            </filter>
            <encoder>
                <pattern>%date{yyyy-MM-dd HH:mm} | %highlight(%-5level) | %boldYellow(%thread) | %boldGreen(%logger{36}) |
                    %msg%n
                </pattern>
            </encoder>
        </appender>
    
        <appender name="RollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 在IDE中运行, 不输出日志文件, 打包时level被portable-config-maven-plugin插件改为DEBUG, 输出日志文件 -->
            <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
                <level>DEBUG</level>
            </filter>
            <File>logs/logback.log</File>
            <!-- 按每小时滚动文件,如果一个小时内达到10M也会滚动文件, 滚动文件将会压缩成zip格式, 最多保留672个滚动文件 -->
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <fileNamePattern>logs/jx-film-%d{yyyy-MM-dd-HH}.%i.zip</fileNamePattern>
                <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                    <maxFileSize>10MB</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
                <maxHistory>672</maxHistory>
            </rollingPolicy>
            <encoder>
                <pattern>%d{MM:dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
            </encoder>
        </appender>
    
        <appender name="ErrorConsole" class="ch.qos.logback.core.ConsoleAppender">
            <!-- 在IDE中运行, 控制台输出全部日志, 打包时level被portable-config-maven-plugin插件改为OFF, 控制台不输出日志 -->
            <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
                <level>DEBUG</level>
            </filter>
            <encoder>
                <pattern>%date{yyyy-MM-dd HH:mm:ss} | %highlight(%-5level) | %boldYellow(%thread) | %boldGreen(%logger{36})
                    | %msg%n
                </pattern>
            </encoder>
        </appender>
    
        <!-- project default level -->
        <logger name="父包名" level="DEBUG"/>
        <logger name="org.springframework.web" level="DEBUG"/>
        <logger name="org.springframework.core.env.PropertySourcesPropertyResolver" level="WARN"/>
    
    
        <!--日志级别-->
        <root level="DEBUG">
            <!--日志输出的目的地-->
            <appender-ref ref="Console"/>
            <appender-ref ref="RollingFile"/>
        </root>
    </configuration>
    
  • 相关阅读:
    Heartbeat+Haproxy实现负载均衡高可用
    Heartbeat+Haproxy实现负载均衡高可用
    Heartbeat+Haproxy实现负载均衡高可用
    Heartbeat+Haproxy实现负载均衡高可用
    apache调优技巧之一隐藏apahce版本信息
    apache调优技巧之一隐藏apahce版本信息
    apache调优技巧之一隐藏apahce版本信息
    apache调优技巧之一隐藏apahce版本信息
    用VC实现洪水攻击程序
    WebAPI返回数据类型解惑 以及怎样解决Extjs无法解析返回的xml
  • 原文地址:https://www.cnblogs.com/forelim/p/15384641.html
Copyright © 2011-2022 走看看