admin_req_log.ts 683 B

12345678910111213141516171819
  1. import { Context } from 'egg';
  2. /**
  3. * 日志中间件,记录请求
  4. */
  5. export default function AdminReqLog(): any {
  6. return async (ctx: Context, next: () => Promise<any>) => {
  7. const startTime = Date.now();
  8. await next();
  9. const reportTime = Date.now() - startTime;
  10. const { url } = ctx;
  11. console.log('url:',url);
  12. // 该接口不做记录/admin/sys/log/page
  13. if (url.startsWith('/admin') && !url.startsWith('/admin/sys/req-log/page')) {
  14. ctx.service.admin.sys.reqLog.save(url.split('?')[0],
  15. ctx.req.method === 'GET' ? ctx.request.query : ctx.request.body, ctx.status, reportTime, ctx.req.method, ctx.token ? ctx.token.uid : null);
  16. }
  17. };
  18. }