日志管理
记录系统操作日志,支持查询和导出。
功能特性
- 自动记录增删改操作
- 支持按时间范围筛选
- 支持按操作人、操作类型过滤
- 日志数据可导出
核心实现
使用 NestJS 拦截器自动捕获操作日志:
typescript
@Injectable()
export class LoggingInterceptor implements NestInterceptor {
intercept(context: ExecutionContext, next: CallHandler) {
const request = context.switchToHttp().getRequest();
const { method, url, user } = request;
// 记录到数据库
return next.handle().pipe(
tap(() => {
this.logService.create({
module: this.getModule(url),
operation: method,
operatorId: user?.sub,
ip: request.ip,
});
}),
);
}
}API 端点
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/v1/logs/page | 分页查询日志 |
| GET | /api/v1/log/:id | 日志详情 |
| DELETE | /api/v1/log/:ids | 批量删除 |
下一步:
