import { genCode } from "@pubUtils/util";

module.exports = () => {
  return async function log(ctx, next) {
    ctx.logcode = genCode(10);
    
    ctx.service.utils.log('INFO', `[${ctx.request.url}] [${ctx.logcode}] request: ${JSON.stringify(ctx.request.body)}`)


    try{
      await next();
    } catch(e) {
      ctx.service.utils.log('ERROR', `[${ctx.request.url}] [${ctx.logcode}] err: ${(<Error>e).stack}`);
      throw e;
    }
    const resBody = ctx.body;
    if(ctx.request.url.indexOf('/api/users/getgiftcodedetailfile') == -1 ) {
      ctx.service.utils.log('INFO', `[${ctx.request.url}] [${ctx.logcode}] res: ${JSON.stringify(resBody)}`)
    }
  };
};

