package foundation.icall.log; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import foundation.data.object.DataObject; import foundation.data.object.EntitySaver; import foundation.icall.ICall; import foundation.server.config.Configer; import foundation.token.IOnlineUser; import foundation.util.ID; public class LogRecord { private static String root; private DataObject dataObject; private EntitySaver saver; private String id; private String dateNo; private String url; private String requestHeader; private String requestBody; private String requestFile; private String responseFile; static { root = Configer.getString("LogPath", "D:/repository/log/"); } public LogRecord(ICall iCall) { try { this.id = ID.newValue(); this.dateNo = createDateNo(new Date()); this.requestFile = root + dateNo + "/" + id + "_request.txt"; this.responseFile = root + dateNo + "/" + id + "_response.txt"; dataObject = DataObject.getInstance("sys_interface_log"); saver = dataObject.createEntitySaver(); saver.set("id", id); saver.set("interface_id", iCall.getId()); saver.set("interface_source", iCall.getSourceName()); saver.set("monitor_id", iCall.getMonitorId()); saver.set("step_name", iCall.getName()); saver.set("title", iCall.getTitle()); IOnlineUser user = IOnlineUser.getInstance(); if (user == null) { saver.set("call_name", "system"); } else { saver.set("call_name", user.getName()); } } catch(Exception e) { } } public void insert() { try { saver.insert(); } catch (Exception e) { e.printStackTrace(); } } public String getID() { return id; } public String getDateNo() { return dateNo; } public String getDataObject() { return dataObject.getTableName(); } public String getRequestFile() { return requestFile; } public String getResponseFile() { return responseFile; } public void setDocCode(String docCode) { saver.set("code", docCode); } public void setUrl(String url) { this.url = url; saver.set("url", url); } public String getUrl() { return url; } public void setRequestHeader(String requestHeader) { this.requestHeader = requestHeader; } public String getRequestHeader() { return requestHeader; } public void setRequestBody(String requestBody) { this.requestBody = requestBody; } public String getRequestBody() { return requestBody; } private static String createDateNo(Date now) { String result; DateFormat dateFormat = new SimpleDateFormat("yyyyMM/dd"); result = dateFormat.format(now); return result; } public EntitySaver getSaver() { return saver; } }