org.minbox.framework
api-boot-starter-logging
org.springframework.boot
spring-boot-starter-test
test
org.minbox.framework
api-boot-dependencies
pom
import
${api.boot.version}
org.springframework.boot
spring-boot-maven-plugin
ApiBoot Logging 核心依赖是:
接下来是application.yml文件:
#配置项目名称
spring:
application:
name: ElegantDemo
#配置端口
server:
port: 8067
#配置ApiBoot Logging 日志组件
api:
boot:
logging:
show-console-log: true
#实现美化打印请求日志
format-console-log-json: true
这里有一点需要提醒下, 里面的配置项目名称和端口是有必要的,因为ApiBoot 在监控每次请求的数据输出时,里面包括了项目名称和端口。
然后是在启动类上加上注解 @EnableLoggingClient :
可以看到这个注解,Client ,客户端,没错,这个其实也有对应的admin端进行日志上报,但是目前实现对接口请求的日志监控打印,我们只需要使用客户端组件即可。
接下来,我们来简单编写几个接口,作为测试,LoggingApiTestController.java:
import com.demo.elegant.pojo.Cat;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
-
@Author : JCccc
-
@CreateTime : 2019/11/25
-
@Description :
**/
@RestController
public class LoggingApiTestController {
@GetMapping(“/testGet1”)
public String testGet1(@RequestParam(“name”) String name, @RequestParam(“age”) Integer age) {
return “testGet1: name is “+ name+” and age is :”+age;
}
@GetMapping(“/testGet2”)
public String testGet2(@RequestParam Map paramMap) {
return “testGet2: name is “+ paramMap.get(“name”)+” and age is :”+paramMap.get(“age”);
}
@PostMapping(“/testPost1”)
public String testPost1(@RequestBody Cat cat) {
return “testPost1: name is “+ cat.getName()+” and age is :”+cat.getAge();
}
@PostMapping(“/testPost2”)
public String testPost2(@RequestBody Map paramMap) {
return “testPost2: name is “+ paramMap.get(“name”)+” and age is :”+paramMap.get(“age”);
}
}
这里其中一个post方法用到了实体类接收参数,顺便也贴一下 Cat.java:
PS: 可以参考我这篇,了解各种springboot拿参方式(https://blog.youkuaiyun.com/qq_35387940/article/details/100151992)
import lombok.Data;
/**
-
@Author : JC