public static void printServiceFlowLog(Logger logger, TarsServantRequest request, int status, long cost, String remark) { if (status == TarsHelper.SERVERSUCCESS && !isFlowLogEnable()) return; StringBuilder sb = new StringBuilder(); Object args[] = request.getMethodParameters(); int len = 25; sb.append(FLOW_SEP_FLAG); sb.append(request.getIoSession().getRemoteIp()).append(FLOW_SEP_FLAG); sb.append(request.getFunctionName()).append(FLOW_SEP_FLAG); if (null != args) { StringBuilder sbArgs = new StringBuilder(); for (int i = 0; i < args.length; i++) { if (args[i] == null) { sbArgs.append("NULL").append(","); } else if (args[i] instanceof Number || args[i] instanceof Boolean) { sbArgs.append(args[i]).append(","); } else { sbArgs.append(encodeStringParam(args[i].toString(), len)).append(","); } } sbArgs = sbArgs.length() >= 1 ? sbArgs.deleteCharAt(sbArgs.length() - 1) : sbArgs; sb.append(sbArgs); } sb.append(FLOW_SEP_FLAG); sb.append(status).append(FLOW_SEP_FLAG).append(cost); sb.append(FLOW_SEP_FLAG).append(remark); logger.info(sb.toString()); }
public static void printServiceFlowLog(Logger logger, TarsServantRequest request, int status, long cost, String remark) { if (status == TarsHelper.SERVERSUCCESS && !isFlowLogEnable()) return; StringBuilder sb = new StringBuilder(); Object args[] = request.getMethodParameters(); int len = 25; sb.append(FLOW_SEP_FLAG); sb.append(request.getIoSession().getRemoteIp()).append(FLOW_SEP_FLAG); sb.append(request.getFunctionName()).append(FLOW_SEP_FLAG); if (null != args) { StringBuilder sbArgs = new StringBuilder(); for (int i = 0; i < args.length; i++) { if (args[i] == null) { sbArgs.append("NULL").append(","); } else if (args[i] instanceof Number || args[i] instanceof Boolean) { sbArgs.append(args[i]).append(","); } else { sbArgs.append(encodeStringParam(args[i].toString(), len)).append(","); } } sbArgs = sbArgs.length() >= 1 ? sbArgs.deleteCharAt(sbArgs.length() - 1) : sbArgs; sb.append(sbArgs); } sb.append(FLOW_SEP_FLAG); sb.append(status).append(FLOW_SEP_FLAG).append(cost); sb.append(FLOW_SEP_FLAG).append(remark); logger.info(sb.toString()); }