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文件太臃肿。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/adminstate/article/details/131732464