java自定义日志注解
日志记录是一件很有意义的事情,通过日志可以记录当前用户做了哪些操作。对当前所做的操作进行描述以及记录。
可以发现记录用户当前做了哪些操作是一个公共方法,是否单独写一个工具类,然后每次调用该工具类中的方法呢?显然这种方式不太友好,可扩展性不强。我们可以有更好的设计,可以利用Spring的AOP特性,在某一点进行方法增强。
具体的实现:
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.PARAMETER})
public @interface LogOpt {
String desc() default "";
}
@ApiOperation(value = "批量添加app信息")
@RequestMapping(value = "/save/app", method = RequestMethod.GET)
@LogOpt(desc = "批量添加app信息")
public ResultObject<Object> saveApp() {
// List<IosAppPO> list = new ArrayList<>();
IosAppPO iosAppPO;
for (int i = 10; i < 20; i++) {
iosAppPO = new IosAppPO();
iosAppPO.setAppCreator("zhaodeman");
iosAppPO.setAppName("应用" + i);
iosAppPO.setAppLoseTime(new Date());
iosAppPO.setAppCreateTime(new Date());
iosAppService.saveIosApp(iosAppPO);
// list.add(iosAppPO);
}
return ResultResponse.success("批量添加app信息成功");
}
@ApiOperation("查询所有的日志记录")
@GetMapping("/log/queryAll")
public ResultObject<Object> queryAllLog() {
List<LogDescPO> result = logDescPoMapper.queryAllLog();
return ResultResponse.success("查询日志成功", result.size(), result);
}
这样就可以实现扩展的日志记录操作。