SpringBoot 日志系统LogBack配置本地文件打印日志

SpringBoot 日志系统LogBack配置本地文件打印日志

原理

在使用SpringBoot的时候,我们每次启动的时候都会看到一大段日志信息,整合在一个项目中的不同框架即使使用不同日志系统但它们的日志信息都以统一的格式打印在控制台上,这就是SpringBoot为了统一日志做出的工作。

  • 直接将其他依赖以前的日志框架剔除
  • 导入对应日志框架的Slf4j中间包
  • 导入自己官方指定的日志实现,并作为Slf4j的日志实现层

注:Slf4j是日志门面,简单理解就是个模型,并非具体实现的日志系统,但提供提供了统一的日志使用接口

配置本地文件保存日志

在没有配置的情况下,SpringBoot默认将日志打印在控制台上,我们现在需要在文件中保存日志,那么我们就需要做以下操作

  • 先在resource文件夹下创建一个叫logback-spring.xml的配置文件
  • 按照给出的格式书写配置文件(这里使用的是springboot预设好的日志格式)

<configuration>
    
    <include resource="org/springframework/boot/logging/logback/defaults.xml" />
    
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${CONSOLE_LOG_PATTERN}pattern>
            <charset>${CONSOLE_LOG_CHARSET}charset>
        encoder>
    appender>
    
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <encoder>
            <pattern>${FILE_LOG_PATTERN}pattern>
            <charset>${FILE_LOG_CHARSET}charset>
        encoder>
        
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            
            <FileNamePattern>log/%d{yyyy-MM-dd}-spring-%i.logFileNamePattern>
            
            <cleanHistoryOnStart>truecleanHistoryOnStart>
            
            <maxHistory>7maxHistory>
            
            <maxFileSize>10MBmaxFileSize>
        rollingPolicy>
    appender>
    
    <root level="INFO">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE"/>
    root>
configuration>

你可能感兴趣的:(spring,boot,java,spring)