SpringBoot配置lombok与logback过程解析

 更新时间:2020年05月18日 11:53:33   作者:帅过驴的袋鼠  
这篇文章主要介绍了SpringBoot配置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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • java编程ThreadLocal上下传递源码解析

    java编程ThreadLocal上下传递源码解析

    这篇文章主要为大家介绍了java编程中ThreadLocal提供的上下传递方式的源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • Java中StringUtils与CollectionUtils和ObjectUtil概念讲解

    Java中StringUtils与CollectionUtils和ObjectUtil概念讲解

    这篇文章主要介绍了Java中StringUtils与CollectionUtils和ObjectUtil概念,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-12-12
  • Mabatis错误提示Parameter index out of range的处理方法

    Mabatis错误提示Parameter index out of range的处理方法

    这篇文章主要介绍了Mabatis错误提示Parameter index out of range 的处理方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • 关于spring属性占位符用法

    关于spring属性占位符用法

    这篇文章主要介绍了关于spring属性占位符用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Java创建并运行线程的方法

    Java创建并运行线程的方法

    这篇文章主要介绍了Java创建并运行线程的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • 详解Java多线程编程中互斥锁ReentrantLock类的用法

    详解Java多线程编程中互斥锁ReentrantLock类的用法

    Java多线程并发的程序中使用互斥锁有synchronized和ReentrantLock两种方式,这里我们来详解Java多线程编程中互斥锁ReentrantLock类的用法:
    2016-07-07
  • JAVA多线程之实现用户任务排队并预估排队时长

    JAVA多线程之实现用户任务排队并预估排队时长

    本文主要介绍了Java多线程之实现用户任务排队并预估排队时长的问题,文中的代码具有一定的学习和工作价值,感兴趣的小伙伴快跟随小编一起学习一下吧
    2021-12-12
  • 浅谈Java到底是值传递还是引用传递呢

    浅谈Java到底是值传递还是引用传递呢

    今天带大家学习Java的相关知识,文章围绕着Java到底是值传递还是引用传递展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • Servlet的两种创建方式(xml 注解)示例详解

    Servlet的两种创建方式(xml 注解)示例详解

    这篇文章主要为大家介绍了Servlet的两种创建方式(xml 注解)示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • Java的List集合框架之ArrayList详解

    Java的List集合框架之ArrayList详解

    这篇文章主要介绍了Java的List集合框架之ArrayList详解,ArrayList默认容量为10(构造方法未指定初始容量为0),扩容是利用位运算(右移一位)和直接相加进行1.5倍扩容,需要的朋友可以参考下
    2023-11-11

最新评论