SpringBoot + Lombok 关于日志的应用

最近在工作中遇到了不少问题,日志的真的太重要了!我认为会配置日志,通过日志排查是软件开发工作人的基本能力,下面我们通过Spring Boot + Lombok 搭建服务的日志系统

lombok的依赖

    <dependency>
      <groupId>org.projectlombokgroupId>
      <artifactId>lombokartifactId>
      <version>1.18.8version>
    dependency>

我们可以先写最简单的案例,看看日志打印

@RestController
@RequestMapping("/log")
@Slf4j
public class LogController {
     

	/**
     * 请求: curl localhost:9999/log/zzj
     */
    @GetMapping("/{name}")
    public String log(@PathVariable String name) {
     
        log.info("welcome:" + name);
        log.debug("welcome:" + name);
        log.warn("welcome:" + name);
        log.error("welcome:" + name);
        return name;
    }
}

可以看到结果如下(debug是未使用所以没法打印,可以使用isDebugEnabled测试)
在这里插入图片描述

这时候想要通过配置文件生成日志文件

下面是日志配置文件



<configuration scan="true" scanPeriod="10 seconds">

  <contextName>lombokcontextName>

  
  <property name="LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" />

  
  <property name="FILE_PATH" value="/Users/mac/dev/work/spring/spring-base/src/main/resources//log/spring-log.%d{yyyy-MM-dd}.%i.log" />

  
  <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
    
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
      <level>INFOlevel>
    filter>
    <encoder>
      
      <pattern>${LOG_PATTERN}pattern>
    encoder>
  appender>

  
  <appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <fileNamePattern>${FILE_PATH}fileNamePattern>
      
      <maxHistory>15maxHistory>
      <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
        
        <maxFileSize>2MBmaxFileSize>
      timeBasedFileNamingAndTriggeringPolicy>
      
      <totalSizeCap>1GBtotalSizeCap>
    rollingPolicy>

    <encoder>
      <pattern>${LOG_PATTERN}pattern>
    encoder>
  appender>

  
  <logger name="net.sh.rgface.serive" level="ERROR" />

  
  <root level="INFO">
    <appender-ref ref="console" />
    <appender-ref ref="rollingFile" />
  root>
configuration>

然后在application.yml中指定日志文件

logging:
  config: classpath:lombok-spring.xml

这时候再次调用测试日志打印的结果 会发现resources下会有log文件夹

SpringBoot + Lombok 关于日志的应用_第1张图片
SpringBoot + Lombok 关于日志的应用_第2张图片
到这里我们关于lombok日志接入就完成啦,这是最基础的日志服务,进一步我们可以接入可视化日志平台

你可能感兴趣的:(Spring)