企业网站如何制作/b2b平台排名
最近在工作中遇到了不少问题,日志的真的太重要了!我认为会配置日志,通过日志排查是软件开发工作人的基本能力,下面我们通过Spring Boot + Lombok 搭建服务的日志系统
lombok的依赖
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.8</version></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
测试)
这时候想要通过配置文件生成日志文件
下面是日志配置文件
<?xml version="1.0" encoding="UTF-8" ?><configuration scan="true" scanPeriod="10 seconds"><contextName>lombok</contextName><!-- 日志格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符--><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"><!-- 日志级别过滤INFO --><filter class="ch.qos.logback.classic.filter.ThresholdFilter"><level>INFO</level></filter><encoder><!-- 按照上面配置的LOG_PATTERN来打印日志 --><pattern>${LOG_PATTERN}</pattern></encoder></appender><!--每天生成一个日志文件,保存30天的日志文件。rollingFile用来切分文件的 --><appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>${FILE_PATH}</fileNamePattern><!-- keep 15 days' worth of history --><maxHistory>15</maxHistory><timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"><!-- 日志文件的最大大小 --><maxFileSize>2MB</maxFileSize></timeBasedFileNamingAndTriggeringPolicy><!-- 超出删除老文件 --><totalSizeCap>1GB</totalSizeCap></rollingPolicy><encoder><pattern>${LOG_PATTERN}</pattern></encoder></appender><!-- project default level --><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文件夹
到这里我们关于lombok日志接入就完成啦,这是最基础的日志服务,进一步我们可以接入可视化日志平台