SpringBoot集成Logback

89 阅读1分钟
  • Springboot框架已经整合了logback依赖,因此不需要再加入依赖,在application.properties中指定要使用的日志配置文件:logging.config=classpath:logback-spring.xml

  • 在类上加上@Slf4j注解,则默认生成了一个名为log的Logger对象,使用就可以了

  • 新建logback-spring.xml文件放在resources目录下,内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <property name="log.project" value="yh-api-service"/>
        <property name="log.home" value="logs"/>
        <property name="log.level" value="INFO"/>
        <property name="log.max.file.size" value="50MB"/>
        <property name="log.max.history" value="360"/>
        
        <!-- 定义日志信息的格式-->
        <property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level [%logger.%method:%line] >>> %msg %n" />
    
        <!-- 控制台输出 -->
        <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
            <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
                <pattern>${FILE_LOG_PATTERN}</pattern>  <!--日志格式 -->
                <charset>utf8</charset>
            </encoder>
        </appender>
    
    
        <!--日志写入文件 -->
        <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!--存储路径-->
            <file>${log.home}/${log.project}.log</file>
            
            <!--归档策略 -->
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <FileNamePattern>${log.home}/${log.project}_%d{yyyy-MM-dd}.log</FileNamePattern>
                <MaxHistory>${log.max.history}</MaxHistory>
            </rollingPolicy>
            
            <!--日志格式 -->
            <encoder>
                <pattern>${FILE_LOG_PATTERN}</pattern>
            </encoder>
        </appender>
    
    	<!--日志要输出的appender-->
       <root level="info">
           <appender-ref ref="console" />
           <appender-ref ref="file" />
       </root>
    </configuration>