新增pom依赖
<dependency><groupId>io.github.mouzt</groupId><artifactId>bizlog-sdk</artifactId><version>1.0.1</version></dependency>
启动项Application,添加注解@EnableLogRecord(tenant = “xxx.xxx”)
tenant 代表租户标识,可自由定义
@SpringBootApplication@EnableLogRecord(tenant = "com.test.demo")@Slf4jpublic class StudyProjectApplication {public static void main(String[] args) {SpringApplication.run(StudyProjectApplication.class, args);log.info("启动成功!");}}

- 在接口或实现类上添加注解@LogRecordAnnotation,有如下属性:
- prefix 用以区分业务
- bizNo 业务id
- success 成功打印的msg
- fail 失败打印的msg
- operator 操作人
- category 用以区分日志类型,比如有些是运营人员的操作日志,不想让系统暴露
- detail 可拿到接口传进来的对象参数
- SpEL 表达式 {{#A.b}}表示参数,eg:{{#devicePoint.toString()}}
/*** pojo插入,measurement即Pojo** @param devicePoint* @return*/@LogRecordAnnotation(prefix = "influxDB",detail = "{{#devicePoint.toString()}}",bizNo = "{{#devicePoint.name}}",success = "新增成功{{#devicePoint.name}},下单结果:{{#_ret}}",fail = "新增失败,「{{#_errorMsg}}」",operator = "{{#currentUser}}",category = "MANAGER")@PostMapping("/insertPojo")public String insertPojo(@RequestBody DevicePoint devicePoint) {Point.Builder builder = Point.measurementByPOJO(devicePoint.getClass());builder.addFieldsFromPOJO(devicePoint);builder.tag("no", String.valueOf(UUID.randomUUID()));influxDB.write(builder.build());return "成功";}
- 执行结果

成功日志:
【logRecord】log=LogRecord(id=null, tenant=com.test.demo, bizKey=influxDB_device#3, bizNo=device#3, operator=111, action=新增成功device#3,下单结果:成功, category=MANAGER, createTime=Fri Feb 26 14:13:44 CST 2021, detail=DevicePoint(name=device#3, time=null, no=123, value=3cm))
失败日志:
【logRecord】log=LogRecord(id=null, tenant=com.test.demo, bizKey=influxDB_device#3, bizNo=device#3, operator=111, action=新增失败,「/ by zero」, category=MANAGER, createTime=Fri Feb 26 14:21:31 CST 2021, detail=DevicePoint(name=device#3, time=null, no=123, value=3cm))
