| | |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.alibaba.fastjson.serializer.SerializerFeature; |
| | | import com.java110.common.log.LoggerEngine; |
| | | import com.java110.common.util.DateUtil; |
| | | import com.java110.utils.util.DateUtil; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | |
| | | import java.net.InetAddress; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | import java.util.UUID; |
| | | |
| | | /** |
| | | * 交互日志抽象类 |
| | |
| | | |
| | | private final static Logger logger = LoggerFactory.getLogger(AbstractTransactionLog.class); |
| | | |
| | | private String port; |
| | | protected String port; |
| | | |
| | | private String logStatus; |
| | | |
| | | private String requestMessage; |
| | | |
| | | private long costTime; |
| | | |
| | | private String responseMessage; |
| | | |
| | |
| | | return responseMessage; |
| | | } |
| | | |
| | | public long getCostTime() { |
| | | return costTime; |
| | | } |
| | | |
| | | @Override |
| | | public String getPort() { |
| | | return port; |
| | |
| | | |
| | | /** |
| | | * 预构建 |
| | | * 如果不是http方式请求构建的对象情况下 port 为 -1 请在创建完对象后 |
| | | * 用这个 |
| | | * ServiceInfoListener serviceInfoListener = ApplicationContextFactory.getBean("serviceInfoListener",ServiceInfoListener.class); |
| | | * 对象刷一下 端口 |
| | | * @param reqInfo |
| | | * @param headerAll |
| | | */ |
| | |
| | | |
| | | if(headerAll != null && headerAll.containsKey("port")){ |
| | | this.port = headerAll.get("port"); |
| | | }else{ |
| | | this.port = "-1"; |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 重新构建 TransactionLog 对象 主要用于服务调用方 |
| | | * @return |
| | | */ |
| | | public TransactionLog reBuilder(String requestMessage,String responseMessage,String logStatus){ |
| | | public TransactionLog reBuilder(String requestMessage,String responseMessage,String logStatus,long costTime){ |
| | | |
| | | this.logStatus = logStatus; |
| | | this.requestMessage = requestMessage; |
| | | this.responseMessage = responseMessage; |
| | | |
| | | this.costTime = costTime; |
| | | return this; |
| | | } |
| | | |
| | |
| | | * 重新构建 TransactionLog 对象 主要用于服务提供方 |
| | | * @return |
| | | */ |
| | | public TransactionLog reBuilder(String appId,String userId,String requestMessage,String responseMessage,String logStatus){ |
| | | public TransactionLog reBuilder(String appId,String userId,String requestMessage,String responseMessage,String logStatus,long costTime){ |
| | | |
| | | this.logStatus = logStatus; |
| | | this.requestMessage = requestMessage; |
| | | this.responseMessage = responseMessage; |
| | | this.setAppId(appId); |
| | | this.setUserId(userId); |
| | | this.costTime = costTime; |
| | | return this; |
| | | } |
| | | |
| | |
| | | logMessage.put("serviceName",getServiceName()); |
| | | logMessage.put("timestamp",getTimestamp()); |
| | | logMessage.put("logStatus",getLogStatus()); |
| | | logMessage.put("costTime",costTime); |
| | | logMessage.put("requestMessage",getRequestMessage()); |
| | | logMessage.put("responseMessage",getResponseMessage()); |
| | | return logMessage.toJSONString(logMessage,SerializerFeature.WriteNullStringAsEmpty); |