欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【SpringBoot】-之日志配置

程序员文章站 2022-06-13 15:25:58
...

前言

SpringBoot默认配置好了日志,只要启动SpringBoot项目就会在控制台输出日志信息,那么SpringBoot采用了什么日志呢?它采用了slf4j+logback的组合形式,SpringBoot也提供对JUL、log4j2、Logback提供了默认配置.

日志级别

从低到高:

  • trace:跟踪,级别最低的日志
  • debug:调试,用来查看调试内容
  • info:信息,一般记录一些方法执行等
  • warn:警告,可能发生错误的代码
  • error:错误,一般在catch里面执行
    Trace<debug<info<warn<error

修改日志默认配置

Applicati.properties中修改日志默认配置
SpringBoot默认设定的是info级别日志(日志默认级别也称为root级别),怎么把info级别的日志改成其他级别呢?

#调整指定包的级别
logging.level.com.meng=debug
#这是修改springboot的root级别
logging.level.root=debug

设定某个级别后,就只打印设定的这个级别及后面高级别的日志信息,没有指定就用默认的root级别

修改日志文件的生成路径

【SpringBoot】-之日志配置
解释表格:

  • 在配置文件中logging.file(指定文件)和logging.path(指定目录)什么也不写默认在控制台输出日志
  • **logging.file=springboot.log(指定文件)**是表格中的第二种
  • **使用logging,path(指定目录),**输入到项目所在磁盘根路径下
  • 两个同时指定,采用的是指定文件,也就是表格中的第二种

Applicati.properties中修改日志默认配置
使用logging.file实列:在application.properties文件中写入代码:
logging.file=springboot.log(指定文件)
【SpringBoot】-之日志配置
运行测试代码之后会自动在当前项目生成springboot.log文件,(也可以生成在指定硬盘下,logging.file=D:/springboot.log)
【SpringBoot】-之日志配置
再次运行,日志文件不会覆盖,只会追加

使用logging,path(指定目录)
logging.path=/springboot/log
会在当前项所在项目的根路径下生成日志文件
【SpringBoot】-之日志配置

修改日志输出格式

 日志输出格式说明:
%d: 输出日期时间
%thread:输出当前线程名
%-5level:输出日志级别,左对齐5个字符宽度
 %logger{50} 输出全类名长50个字符
 %msg 日志信息 
 %n换行符
# 修改控制台输出的日志格式 logging.pattern.console=%d{yyyy-MM-dd}  [%thread]  %-5level  %logger{50} - %msg%n
# 修改文件中输出的日志格式 logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} >>> [%thread] >>> %-5level >>> %logger{50} >>> %msg%n

示例:
【SpringBoot】-之日志配置

切换日志框架

将springBoot默认的logback切换为log4j2日志框架
在项目的ppm.xml切换log4j2
首先删掉日志启动器依赖,在使用log4j2依赖:

<dependency> 
  <groupId>org.springframework.boot</groupId>   
   <artifactId>spring-boot-starter-web</artifactId>    
   先删掉 spring-boot-starter-logging 日志启动器 
      <exclusions>    
          <exclusion>          
            <groupId>org.springframework.boot</groupId>      
                  <artifactId>spring-boot-starter-logging</artifactId>   
                       </exclusion>    
          </exclusions> 
     </dependency>   
           再使用 log4j2 日志启动器
     <dependency>   
       <groupId>org.springframework.boot</groupId>  
        <artifactId>
          <groupId>org.springframework.boot</groupId>  
          <artifactId>spring-boot-starter-log4j2</artifactId> 
       
相关标签: ----【SpringBoot】