SpringBoot之日志

  • Post author:
  • Post category:其他




SpringBoot之日志



1.关于日志级别
error > warn > info > debug > trace

springboot默认日志级别是

info

我们可以在springboot的默认配置文件中修改日志级别


logging.level



map

类型, 我们可以指定不同包下使用不同的日志级别

logging:
  level:
    com.atguigu: trace


2.以文件形式打印日志logging.file.name

springboot默认日志的输出方式是在

控制台

输出, 通过在springboot默认配置文件中配置

logging.file.name

可以使日志以文件形式输出

  1. 当不指定日志文件的具体位置, 只指定文件名字时, 日志文件默认会生成在项目目录下

    logging:
      file:
        name: boot.log
    
  2. 当指定日志文件的具体位置时, 日志文件会生成在指定的位置

    logging:
      file:
        name: D:/boot.log
    

这种方式既可以指定日志文件的生成位置, 也可以指定日志文件的名字



3.以文件形式打印日志logging.file.path

在springboot的默认配置文件中配置

logging.file.path

属性, 指定日志文件的路径, 日志生成后将会在指定的路径处生成一个名为

spring.log

的日志文件

logging:
  file:
    path: /spring/log #在项目所在磁盘根目录下的spring目录下的log目录下生成日志文件

这种方式只可以指定日志文件的生成位置, 日志文件的名字只会使用默认的

spring.log



4.日志输出格式
  1. 控制台

    在springboot默认配置文件中配置

    logging.pattern.console

  2. 文件

    在springboot默认配置文件中配置

    logging.pattern.file



5.指定日志配置文件

在类路径下放上每个日志框架自己的配置文件即可, springboot就不使用他默认的日志配置了

Logging System Customization
Logback
logback-spring.xml

,

logback-spring.groovy

,

logback.xml

, or

logback.groovy
Log4j2
log4j2-spring.xml

or

log4j2.xml
JDK (Java Util Logging)
logging.properties

当日志配置命名为

logback.xml

时, 这个配置直接就被日志框架识别了

当日志配置命名为

logback-spring.xml

时, 这个配置由springboot解析识别, 可以使用更高级的功能, 例如

springProfile

, 他与springboot中的

Profiles

对应, 在springboot默认配置文件中激活指定Profiles, 日志配置也将改变

<springProfile name="staging">
    <!-- configuration to be enabled when the "staging" profile is active -->
</springProfile>


6.切换日志框架
  1. springboot默认使用

    spring-boot-starter-logging

    启动器, 使用这个启动器默认使用

    Logback

    进行日志记录, 如果要使用

    Log4j2

    进行日志记录, 那么可以切换

    spring-boot-starter-log4j2

    启动器

  2. 具体切换方法为, 将默认

    spring-boot-starter-logging

    启动器排除, 使用

    spring-boot-starter-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>
    
    <!--使用spring-boot-starter-log4j2启动器-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-log4j2</artifactId>
    </dependency>
    
  3. 切换log4j日志框架

    首先排除日志框架的实现jar, 比如偷梁换柱jar, log4j-to-slf4j.jar, 和logback-classic.jar(logback实现jar), 然后引入log4j的实现jar

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
    </dependency>
    

SLF4J官网: http://www.slf4j.org/



版权声明:本文为qq_45678953原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。