/** * @param pjp * @return * @throws Throwable */ private static Object processAroundInternal( Map svcDef, final ProceedingJoinPoint pjp, LoggerPoint point) throws Throwable { long _time = System.currentTimeMillis(); IService service = (IService) pjp.getTarget(); String _ip = service.getRemoteHost(); Integer _logId = 1; // logBiz.add(Log4Monitor.getClientIpAddress(resource.getHttpServletRequest()), cls, mtd, // svcId, (String)svcDef.get("detail")); Object retVal = null; Integer _code = 200; // 成功 boolean _error = true; try { if (point != null) { String keys = point.key(); if ("none".equalsIgnoreCase(keys)) { return pjp.proceed(); } } retVal = pjp.proceed(); _error = false; if (retVal == null || !Response.class.isAssignableFrom(retVal.getClass())) { return retVal; } } catch (Exception e) { } finally { } IResult _response = (IResult) retVal; String _resourceid = getService(pjp, service, point, (Map) svcDef.get(AliasUtil.KEYMAP_KEY)); StringBuffer tmp = new StringBuffer((String) svcDef.get("className")); String _svc = tmp.append(".") .append((String) svcDef.get("methodName")) .append((String) svcDef.get("detail")) .toString(); _resourceid = _resourceid == null ? "" : "resourceid=" + _resourceid; final String ip = _ip; final String svc = _svc; final Integer logId = _logId; final String resourceid = _resourceid; final boolean error = _error; final Integer code = _code; _time = System.currentTimeMillis() - _time; final long time = _time; // 20101223 10:42:22.683 INFO access - PropResource.useful(uid=1,orderId=2,type="3",targetId=4) // code=404 resourceid=1 timeused=69ms final String id = null; new AsynBizExecutor("logger.info") { public void execute() { String logInfo = null; String svc_ = svc; if (id != null) { svc_ = id + " " + svc_; } _logger.info( "%s %s code=%d %s %s timeused=%,dms", ip, svc_, code, resourceid, logInfo, time); }; }; return _response; }