java logAspect

@Around("execution(* com.iotx.cep.biz.rpc.impl.*.*(..)) "
+ "&& !execution(* com.iotx.cep.biz.rpc.impl.CepEngineServiceImpl.calcOffsetForSameSource(..))")
public Object addRpcLog(ProceedingJoinPoint jp) throws Throwable {    long startTime = System.currentTimeMillis();    String serviceName = extractServiceName(jp);    String method = jp.getSignature().getName();    String ip = LogUtil.getLocalIp();    String remoteIp = LogUtil.getRemoteIp();    IoTxResult result = null;    try {        result = (IoTxResult)jp.proceed();    } catch (IllegalArgumentException e) {        hsfLogger.warn("service={}; method={}", serviceName, method, e);        result = ResultCreator.paramError(e.getMessage());    } catch (Throwable t) {        hsfLogger.error("service={}; method={}", serviceName, method, t);        result = ResultCreator.serverError(t.getMessage());    } finally {        String params = JSON.toJSONString(jp.getArgs());        String resultStr = JSON.toJSONString(result);        long usedTime = System.currentTimeMillis() - startTime;        appendHsfLog(serviceName, method, usedTime, ip, remoteIp, result == null ? 0 : result.getCode(),            params, resultStr);        appendRpcProfilerLog(serviceName, method, result == null ? 0 : result.getCode(), usedTime);    }    return result;}
相關文章
相關標籤/搜索