springboot项目中添加自定义日志及配置过程

 更新时间:2023年07月24日 10:33:57   作者:scx_link  
这篇文章主要介绍了springboot项目中添加自定义日志,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

当前项目使用的springboot为 2.2.2.release。低版本的话logging下的子标签有可能不是这样的。

 <dependency>
     <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-dependencies</artifactId>
      <version>2.2.2.RELEASE</version>
      <type>pom</type>
      <scope>import</scope>
</dependency>

 <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>2.2.2.RELEASE</version>
      <relativePath/> <!-- lookup parent from repository -->
</parent>

application.yml文件中的配置

logging:
#  config: classpath:logback.xml
  level:
    #logging.level.root=info就是默认的情况
#    root: info  #logging.level设置日志级别,后面跟生效的区域,比如root表示整个项目,也可以设置为某个包下,也可以具体到某个类名(日志级别的值不区分大小写)
    root: warn
    cn.com.yuanquanyun: debug
  file:
    max-size: 10MB
    max-history: 7
    path: logs
    name: ${logging.file.path}/myapp.log
#指定日志的格式(springboot也自带默认的格式)
  pattern:
#    console: "%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger : %msg%n"  #指的是打印到控制台的日志格式
    console: "%red(%d{yyyy-MM-dd HH:mm:.SSS}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{50}) - %cyan(%msg%n)" #指的是打印到控制台的日志格式--带颜色
    file: "%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger : %msg%n"     #指的是存储到日志文件里的的日志格式

对上述的配置进行说明:

logger.level.root:info #表示整个项目的日志输出级别为Info,也就是日志级别比Info高的日志都输出,也是默认的。
logger.level.root:warn #一般改为warn基本
logger.level.cn.com.yuanquanyun: debug #也可以指定某个包下的日志级别。尤其是打印sql语句时,需要debug级别才能看到。这样项目的其他地方的日志是warn级别。这个指定包的日志级别为debug级别。
%d:  表示日期格式 默认为:yyyy-MM-dd HH:mm:ss,SSS,  可以通过%d{yyyy-MM-dd HH:mm:ss.SSS} 或 %d{yyyy-MM-dd HH:mm:ss} 来指定格式,一般来说最好用默认的精确到毫秒级
%-5level:级别从左显示5个字符宽度 ,
%thread:  表示线程名,
%logger: 表示当前调log.info()打印日志的对象的类的权限定名
%msg:日志消息,%n是换行符
 max-size: #当日志文件的内容达到指定大小时,会执行回滚策略,将文件压缩归档为日志文件名.log.yyyy-MM-dd.i.gz,再生成一个新的zhyd-app.log空文件继续收集新日志。不能保证压缩前的日志文件完全是指定的大小,因为需要保证日志完整性,不能断行。一般都会略大于指定的大小.
 max-history:   #历史归档文件保留7天,超过7天的,会自动删除
 path:       #生成的日志文件所在的目录
 name:   #指定生成的日志文件的名称,如果没有指定,则使用默认的:spring.log
#config: classpath:logback.xml #也可以这里引入xml文件。不把日志的配置写到application.yml,而是写到另外一个文件中。这样避免yml文件太臃肿。

在这里插入图片描述

到此这篇关于springboot项目中添加自定义日志的文章就介绍到这了,更多相关springboot添加自定义日志内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring中的@ComponentScan注解使用详解

    Spring中的@ComponentScan注解使用详解

    这篇文章主要介绍了Spring中的@ComponentScan注解使用详解,@ComponentScan 注解的作用就是根据指定的扫描路径,把路径中符合扫描规则的类装配到 Spring 容器中,需要的朋友可以参考下
    2024-01-01
  • Java实现学生信息管理系统超详细教程

    Java实现学生信息管理系统超详细教程

    这篇文章主要介绍了一个简单的Java学生信息管理系统,使用ArrayList集合存储学生对象信息,并实现了添加、删除、修改和查看学生信息的功能,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-01-01
  • 详解IDEA下Gradle多模块(项目)的构建

    详解IDEA下Gradle多模块(项目)的构建

    这篇文章主要介绍了详解IDEA下Gradle多模块(项目)的构建,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Spring解决循环依赖问题的三种方法小结

    Spring解决循环依赖问题的三种方法小结

    在 Spring 中,循环依赖问题指的是两个或多个 bean 之间相互依赖形成的闭环,具体而言,当 bean A 依赖于 bean B,同时 bean B 也依赖于 bean A,就形成了循环依赖,本文就给大家介绍了Spring解决循环依赖问题的三种方法,需要的朋友可以参考下
    2023-09-09
  • Java ConcurrentHashMap锁分段机制使用及代码实例

    Java ConcurrentHashMap锁分段机制使用及代码实例

    ConcurrentHashMap是Java中的一种线程安全的哈希表,通过锁分段机制提高了并发性能,在Java 8中,ConcurrentHashMap引入了CAS操作和更复杂的节点继承结构,进一步优化了并发操作
    2025-01-01
  • java如何获取yml配置文件工具类

    java如何获取yml配置文件工具类

    本文介绍了java获取yml配置文件的工具类引入pom文件的方法,首先,创建一个与工具类同名的类,然后将工具类的代码复制到新创建的类中,运行后输出:0*/1***?完成操作,此方法简单易行,适合初学者使用
    2024-10-10
  • springboot实现拦截器的3种方式及异步执行的思考

    springboot实现拦截器的3种方式及异步执行的思考

    实际项目中,我们经常需要输出请求参数,响应结果,方法耗时,统一的权限校验等。本文首先为大家介绍 HTTP 请求中三种常见的拦截实现,并且比较一下其中的差异。感兴趣的可以了解一下
    2021-07-07
  • Linux系统Docker拉取JDK21镜像超细详解

    Linux系统Docker拉取JDK21镜像超细详解

    这篇文章主要介绍了如何在Linux系统上使用Docker拉取JDK21镜像,并基于该镜像搭建开发和测试环境,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2024-12-12
  • Java中实现文件上传下载的三种解决方案(推荐)

    Java中实现文件上传下载的三种解决方案(推荐)

    这篇文章主要介绍了Java中实现文件上传下载的三种解决方案的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • Java四种权限修饰符知识点详解

    Java四种权限修饰符知识点详解

    在本篇文章里小编给大家分享的是关于Java四种权限修饰符知识点详解内容,需要的朋友们可以参考下。
    2020-05-05

最新评论