日志审计
章节简介
本章节介绍系统内置的日志功能,如何记录日志,查看,以及扩展功能
日志入库
在实际业务需求中,有一些接口,例如登录、新增、编辑等需要对请求进行日志记录。此需求在框架中可通过@SysLogMethod注解,并配合AOP快捷实现。 开发人员只需要在需要记录日志的接口上加上@SysLogMethod注解即可。
@ApiOperation("用户登录")
@PostMapping(value = "/login")
@SysLogMethod(value = "用户登录", ignoreParam = true)
public Result login(@RequestBody @Validated PasswordLoginDto dto) {
//业务逻辑,略...
return Result.OK();
}
提示
示例: @SysLogMethod(value = "用户登录", ignoreParam = true)
value属性为日志描述
ignoreParam属性默认为false,表示记录请求参数。如果设置为true则不记录请求参数
参数ignoreParam设置为true,主要用于登录等接口,防止记录明文密码。
查看日志
系统管理>日志管理>输入查询参数、操作时间,即可查看。
自定义日志存储
如需将日志存储至ES\MongoDB等,只需要替换config 包下的`LogConfig.java的实现即可。
@Configuration
public class LogConfig {
@Autowired
private ISysLogService sysLogService;
@Bean
public LogHandler dbLogHandler() {
return (dto -> {
// 换存储位置修改如下代码即可
SysLog log = new SysLog();
log.setOperation(dto.getOperation());
//...
//换成自己的实现
sysLogService.save(log);
});
}
}
