Skip to content

日志管理

记录系统操作日志,支持查询和导出。

功能特性

  • 自动记录增删改操作
  • 支持按时间范围筛选
  • 支持按操作人、操作类型过滤
  • 日志数据可导出

核心实现

使用 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批量删除

下一步:

基于 MIT 许可发布 · 由 ❤️ 和 ☕ 驱动 · 支持作者