zoukankan      html  css  js  c++  java
  • 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;
    }
  • 相关阅读:
    面向对象的三大特性(封装、继承、多态)-----继承
    前端---HTML
    几个排序算法的python实现
    构造方法关键字---this
    构造方法中关键字-- super
    多态(instanceof)
    接口
    抽象
    继承(重写与重载对比)
    数组的逆序
  • 原文地址:https://www.cnblogs.com/diegodu/p/9406507.html
Copyright © 2011-2022 走看看