SpringBoot配置lombok,與logback


目錄:

一 什么是lombok

二 lombok安裝

三 使用lombok

四 使用logback

 

一 什么是lombok

  在寫Java程序的時候經常會遇到如下情形:新建了一個Class類,然后在其中設置了幾個字段,最后還需要花費很多時間來建立getter,setter方法還有構造函數等 。
  lombok項目的產生就是為了省去我們手動創建getter和setter方法的麻煩,它能夠在我們編譯源碼的時候自動幫我們生成getter和setter方法。
  即它最終能夠達到的效果是:在源碼中沒有getter和setter方法,但是在編譯生成的字節碼文件中有getter和setter方法。
 
二 lombok安裝
 
  在項目中導入依賴 
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.10</version>
    <scope>provided</scope>
</dependency>

  在idea中安裝lombok插件

  file->settings->plugins->搜索lombok

 

 

三 使用lombok

  lombok常用注解

  @Data

    作用在類上,提供類所有屬性的get set方法,此外還提供了hashcode equals tostring canequal方法

  @Slf4j

    注解在類上,為類提供一個屬性名為log的slf4j日志對象

  @NoArgsConstructor

    注解在類上,為類提供一個無參構造器

  @AllArgsConstructor

    注解在類上,為類提供一個全參構造器

  @Builder

    注解在類上,使用Builder模式創建對象

四 使用logback

  默認情況下,SpringBoot 采用logback來記錄日志,並輸出 INFO 級別日志到控制台

  spring-boot-stater的依賴中包含了logback,無需導包

 

  application.yml 

logging:
  file: application.log

  logback-spring.xml 使用這個文件名放到resource下面無需其他配置,springboot會自動找到這個日志配置

<configuration>
    <appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>logs/application.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- rollover daily -->
            <fileNamePattern>logs/backup/application.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
            <maxFileSize>100MB</maxFileSize>
            <maxHistory>60</maxHistory>
            <totalSizeCap>50GB</totalSizeCap>
        </rollingPolicy>
        <encoder>
            <!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %magenta([%12.12thread]) %highlight(%-5level{5}) -&#45;&#45; %24.24logger.%12.12M\(\) : %msg%n-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%12.12thread] %-5level{5} --- %24.24logger.%12.12M\(\) : %msg%n
            </pattern>
        </encoder>
    </appender>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %magenta([%12.12thread]) %highlight(%-5level{5}) -&#45;&#45; %24.24logger.%12.12M\(\) : %msg%n-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%12.12thread] %-5level{5} --- %24.24logger.%12.12M\(\) : %msg%n
            </pattern>
        </encoder>
    </appender>

    <root level="INFO">
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="ROLLING"/>
    </root>
</configuration>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM