Browse Source

Merge branch 'master' of http://192.168.1.220:10080/esb/esb

lingfeng 9 years ago
parent
commit
95e2d621cd

+ 1 - 1
Hos-Framework/src/main/java/com/yihu/ehr/framework/util/log/LogService.java

@ -25,7 +25,7 @@ import java.io.FileInputStream;
public class LogService {
    static{
        try {
            String configPath = LogService.class.getResource("/").getPath() + "log4j/log4j2.xml";
            String configPath = LogService.class.getResource("/").getPath() + "log4j2.xml";
            ConfigurationSource source;
            source = new ConfigurationSource(new FileInputStream(configPath));

+ 10 - 0
Hos-resource/pom.xml

@ -105,6 +105,16 @@
            <artifactId>jedis</artifactId>
            <version>2.7.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.5</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.5</version>
        </dependency>
        <dependency>

+ 27 - 37
Hos-resource/src/main/java/com/yihu/ehr/crawler/controller/CrawlerController.java

@ -1,7 +1,6 @@
package com.yihu.ehr.crawler.controller;
import com.yihu.ehr.crawler.model.patient.Patient;
import com.yihu.ehr.crawler.service.CrawlerFlowManager;
import com.yihu.ehr.crawler.service.CrawlerManager;
import com.yihu.ehr.crawler.service.CrawlerService;
import com.yihu.ehr.framework.model.ActionResult;
@ -12,7 +11,6 @@ import com.yihu.ehr.standard.service.adapter.AdapterSchemeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import net.sf.json.JSONObject;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@ -53,10 +51,10 @@ public class CrawlerController {
   任务编排数据映射
    */
    @RequestMapping("jobDataMapping")
    public String jobDataMapping(Model model, Integer versionId,String datasetIdStr) {
    public String jobDataMapping(Model model, Integer versionId, String datasetIdStr) {
        try {
            model.addAttribute("versionId",versionId);
            model.addAttribute("datasetIdStr",datasetIdStr);
            model.addAttribute("versionId", versionId);
            model.addAttribute("datasetIdStr", datasetIdStr);
            model.addAttribute("contentPage", "/crawler/dataMapping");
            return "pageView";
        } catch (Exception ex) {
@ -66,12 +64,12 @@ public class CrawlerController {
    }
    @RequestMapping("datasetDetail")
    public String datasetDetail(Model model,Integer schemeId,String schemeNm,String cacheDatasetId,String versionId) {
    public String datasetDetail(Model model, Integer schemeId, String schemeNm, String cacheDatasetId, String versionId) {
        model.addAttribute("contentPage", "/crawler/datasetDetail");
        model.addAttribute("schemeId",schemeId);
        model.addAttribute("versionId",versionId);
        model.addAttribute("schemeNm",schemeNm);
        model.addAttribute("cacheDatasetId",cacheDatasetId);
        model.addAttribute("schemeId", schemeId);
        model.addAttribute("versionId", versionId);
        model.addAttribute("schemeNm", schemeNm);
        model.addAttribute("cacheDatasetId", cacheDatasetId);
        return "pageView";
    }
@ -84,7 +82,7 @@ public class CrawlerController {
        Patient patient = CrawlerManager.getInstance().parsePatient(patientInfo);
        if (patient != null) {
            String message = CrawlerManager.getInstance().collectProcess(patient);
            if (StringUtil.isEmpty(message)){
            if (StringUtil.isEmpty(message)) {
                return Result.success("采集上传成功");
            } else {
                return Result.error(message);
@ -95,7 +93,7 @@ public class CrawlerController {
    }
    /**
     *保存任务编排数据
     * 保存任务编排数据
     */
    @RequestMapping(value = "saveDateSet", method = RequestMethod.POST)
    @ApiOperation(value = "保存任务编排", produces = "application/json", notes = "保存任务编排")
@ -103,7 +101,7 @@ public class CrawlerController {
    public Result saveJobData(
            @ApiParam(name = "job", value = "任务编排信息", required = true)
            @RequestParam(value = "job") String jobInfo,
            @ApiParam(name = "rows",value = "当前行数", required = true)
            @ApiParam(name = "rows", value = "当前行数", required = true)
            @RequestParam(value = "rows") Integer rows,
            @ApiParam(name = "page", value = "当前页数", required = true)
            @RequestParam(value = "page") Integer page) {
@ -117,7 +115,6 @@ public class CrawlerController {
    }
    /**
     * 获取适配方案 数据集关系
     *
@ -131,7 +128,7 @@ public class CrawlerController {
            @RequestParam(value = "name", required = false) String name
    ) {
        try {
            return crawlerService.getSchemeDataset(versionId,name);
            return crawlerService.getSchemeDataset(versionId, name);
        } catch (Exception e) {
            e.printStackTrace();
            return new DetailModelResult();
@ -142,7 +139,7 @@ public class CrawlerController {
     * 保存适配方案 数据映射关系
     *
     * @param version
     * @param data     映射关系
     * @param data    映射关系
     * @return
     */
    @RequestMapping("saveSchemeRelation")
@ -152,7 +149,7 @@ public class CrawlerController {
            @RequestParam(value = "data", required = true) String data
    ) {
        try {
            return crawlerService.saveDataSetRelation( version, data);
            return crawlerService.saveDataSetRelation(version, data);
        } catch (Exception ex) {
            ex.printStackTrace();
            return new ActionResult();
@ -161,12 +158,12 @@ public class CrawlerController {
    @RequestMapping("getRelations")
    @ResponseBody
    public String  getRelations(
    public String getRelations(
            @RequestParam(value = "versionId", required = true) Integer versionId,
            @RequestParam(value = "datasetIdStr", required = false) String datasetIdStr,
            @RequestParam(value = "lines", required = false) String lines) {
        try {
            return crawlerService.getRelations(versionId, datasetIdStr,lines);
            return crawlerService.getRelations(versionId, datasetIdStr, lines);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
@ -175,12 +172,12 @@ public class CrawlerController {
    @RequestMapping("setRelationsCache")
    @ResponseBody
    public Result  setRelationsCache(
    public Result setRelationsCache(
            @RequestParam(value = "versionId", required = true) Integer versionId,
            @RequestParam(value = "lines", required = false) String lines
    ) {
        try {
            crawlerService.setLinesCache(versionId,lines);
            crawlerService.setLinesCache(versionId, lines);
            return Result.success("缓存映射关系成功");
        } catch (IOException e) {
            e.printStackTrace();
@ -189,7 +186,6 @@ public class CrawlerController {
    }
    /**
     * 删除任务编排数据
     */
@ -198,10 +194,10 @@ public class CrawlerController {
    @ResponseBody
    public Result deleteJobData(
            @ApiParam(name = "version", value = "版本号", required = true)
            @RequestParam(value = "version") String version){
            @RequestParam(value = "version") String version) {
        if (version != null) {
            String message =crawlerService.deleteJobData(version);
            if (StringUtil.isEmpty(message)){
            String message = crawlerService.deleteJobData(version);
            if (StringUtil.isEmpty(message)) {
                return Result.success("删除成功");
            } else {
                return Result.error(message);
@ -214,7 +210,7 @@ public class CrawlerController {
    /**
     * 分页显示任务编排数据
     */
    @RequestMapping(value = "list",method = RequestMethod.POST)
    @RequestMapping(value = "list", method = RequestMethod.POST)
    @ApiOperation(value = "分页显示任务编排", produces = "application/json", notes = "分页显示任务编排")
    @ResponseBody
    public DetailModelResult listJobData(
@ -223,22 +219,16 @@ public class CrawlerController {
            @ApiParam(name = "page", value = "Start position of result set. Must be an integer")
            @RequestParam(value = "page", required = false) Integer page) throws Exception {
            return crawlerService.getDataSetResult(rows, page);
        return crawlerService.getDataSetResult(rows, page);
    }
    @RequestMapping(value = "getSchemeList",method = RequestMethod.POST)
    @RequestMapping(value = "getSchemeList", method = RequestMethod.POST)
    @ApiOperation(value = "获取适配方案-方案版本下拉框", produces = "application/json", notes = "获取适配方案-方案版本下拉框")
    @ResponseBody
    public DetailModelResult getSchemeList(){
        DetailModelResult result=adapterSchemeService.getAdapterSchemeResultModelList();
    public DetailModelResult getSchemeList() {
        DetailModelResult result = adapterSchemeService.getAdapterSchemeResultModelList();
        return result;
    }
    public void crawlerTest() {
        Patient patient = new Patient();
        patient.setPatientId("11509006");
        patient.setEventNo("1001000001");
        patient.setOrgCode("FZFY");
        CrawlerFlowManager.getInstance().collectProcess(patient);
    }
}

+ 6 - 4
Hos-resource/src/main/java/com/yihu/ehr/crawler/model/config/SysConfig.java

@ -2,9 +2,9 @@ package com.yihu.ehr.crawler.model.config;
import com.yihu.ehr.crawler.model.patient.PatientIdentity;
import com.yihu.ehr.crawler.model.patient.PatientIndex;
import com.yihu.ehr.crawler.storage.IDataStorage;
import com.yihu.ehr.framework.util.log.LogService;
import com.yihu.ehr.framework.util.operator.StringUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
@ -16,6 +16,8 @@ import java.util.List;
import java.util.Map;
public class SysConfig {
    private static Logger logger = LogManager.getLogger(SysConfig.class);
    public static final String HOS_RESOURCES_CONFIG = "/config/sys.config.xml";
    public static Map<String, String> publicKeyMap;
    public static String tempFile;
@ -93,7 +95,7 @@ public class SysConfig {
            document = reader.read(inputStream);
            return document;
        } catch (DocumentException de) {
            LogService.getLogger().info("读取classpath下的xml文档路径发生异常");
            logger.info("读取classpath下的xml文档路径发生异常");
            return null;
        }
    }
@ -114,7 +116,7 @@ public class SysConfig {
            this.initEventNo(rootElement);
//            this.initPatientIndex(rootElement);
        } catch (Exception e) {
            LogService.getLogger().error(e.getCause().toString());
            logger.error(e.getCause().toString());
        }
    }

+ 11 - 9
Hos-resource/src/main/java/com/yihu/ehr/crawler/origin/FileSystemOrigin.java

@ -7,18 +7,18 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
import com.yihu.ehr.common.Services;
import com.yihu.ehr.crawler.format.AdapterScheme;
import com.yihu.ehr.crawler.model.adapter.AdapterDataSet;
import com.yihu.ehr.crawler.model.config.SysConfig;
import com.yihu.ehr.crawler.model.patient.Patient;
import com.yihu.ehr.crawler.model.transform.LogicValues;
import com.yihu.ehr.crawler.service.EsbHttp;
import com.yihu.ehr.framework.util.file.FtpFileUtil;
import com.yihu.ehr.framework.util.log.LogService;
import com.yihu.ehr.framework.util.operator.DateUtil;
import com.yihu.ehr.framework.util.operator.StringUtil;
import com.yihu.ehr.framework.util.springutil.SpringBeanUtil;
import com.yihu.ehr.system.model.SystemDatasource;
import com.yihu.ehr.system.model.SystemOrganization;
import com.yihu.ehr.system.service.OrganizationManager;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.io.IOException;
import java.sql.SQLException;
@ -36,6 +36,8 @@ import java.util.Map;
 */
public class FileSystemOrigin implements IDataOrigin {
    private static Logger logger = LogManager.getLogger(FileSystemOrigin.class);
    public static String dirHear = "/home/test/patient/";        //病人数据文件根目录
    public static String fileType = "/image/";                    //采集的文件类型文件夹
    protected AdapterScheme adapterScheme;
@ -100,10 +102,10 @@ public class FileSystemOrigin implements IDataOrigin {
            return jsonObject.toString();
        } catch (SQLException e) {
//            e.printStackTrace();
            LogService.getLogger().error("", e);
            logger.error("", e);
        } catch (Exception e) {
//            e.printStackTrace();
            LogService.getLogger().error("", e);
            logger.error("", e);
        }
        return null;
    }
@ -135,7 +137,7 @@ public class FileSystemOrigin implements IDataOrigin {
                    String patientId = patientMap.get("patient_id");
                    String eventNo = patientMap.get("event_no");
                    if (orgAgency == null) {
                        LogService.getLogger().error("获取病人列表错误,无法获取机构代码.");
                        logger.error("获取病人列表错误,无法获取机构代码.");
                        continue;
                    }
                    patient.setPatientId(patientId);
@ -148,7 +150,7 @@ public class FileSystemOrigin implements IDataOrigin {
            }
        } catch (Exception e) {
//            e.printStackTrace();
            LogService.getLogger().error("", e);
            logger.error("", e);
        }
        return patientList;
@ -193,10 +195,10 @@ public class FileSystemOrigin implements IDataOrigin {
            return clear;
        } catch (SQLException e) {
            e.printStackTrace();
            LogService.getLogger().error("", e);
            logger.error("", e);
        } catch (Exception e) {
            e.printStackTrace();
            LogService.getLogger().error("", e);
            logger.error("", e);
        }
@ -224,7 +226,7 @@ public class FileSystemOrigin implements IDataOrigin {
            int port = rootNode.path("port").asInt();
            ftpUtil = new FtpFileUtil(username, password, host, port);
        } catch (IOException e) {
            LogService.getLogger().error("获取Ftp服务器配置失败", e);
            logger.error("获取Ftp服务器配置失败", e);
            e.printStackTrace();
        }
        return ftpUtil;

+ 15 - 10
Hos-resource/src/main/java/com/yihu/ehr/crawler/service/CrawlerFlowManager.java

@ -12,7 +12,6 @@ import com.yihu.ehr.crawler.model.flow.CrawlerFlowHeadModel;
import com.yihu.ehr.crawler.model.flow.CrawlerFlowModel;
import com.yihu.ehr.crawler.model.patient.Patient;
import com.yihu.ehr.framework.constrant.Constants;
import com.yihu.ehr.framework.util.log.LogService;
import com.yihu.ehr.framework.util.operator.CollectionUtil;
import com.yihu.ehr.framework.util.operator.StringUtil;
import com.yihu.ehr.framework.util.springutil.SpringBeanUtil;
@ -21,11 +20,15 @@ import com.yihu.ehr.standard.model.adapter.AdapterSchemeVersionModel;
import com.yihu.ehr.standard.service.adapter.AdapterDatasetService;
import com.yihu.ehr.standard.service.adapter.AdapterSchemeVersionService;
import com.yihu.ehr.standard.service.bo.AdapterVersion;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.*;
public class CrawlerFlowManager {
    private static Logger logger = LogManager.getLogger(CrawlerFlowManager.class);
    private static volatile CrawlerFlowManager instance;
    private static DataCollectDispatcher dispatch;
    private Map<String, AdapterDataSet> adapterDataSetMap;
@ -72,7 +75,7 @@ public class CrawlerFlowManager {
            }
        }
        String message = "本次采集病人共" + totalCount + "条,成功采集信息"+ count + "条";
        LogService.getLogger().info(message);
        logger.info(message);
        return message;
    }
@ -80,18 +83,20 @@ public class CrawlerFlowManager {
        String message;
        if (!getDataForPrepare()) {
            message = "适配数据尚未准备";
            LogService.getLogger().error(message);
            logger.error(message);
            logger.trace("trance");
            logger.info("info");
            return message;
        }
        patient.setReUploadFlg(StringUtil.toString(false));
        LogService.getLogger().trace("采集->注册->打包上传,任务ID:,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
        logger.trace("采集->注册->打包上传,任务ID:,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
        try {
            /**
             * 获取token
             */
            if (!dispatch.getToken()) {
                message = "token获取失败";
                LogService.getLogger().error(message);
                logger.error(message);
                return message;
            }
@ -123,7 +128,7 @@ public class CrawlerFlowManager {
                    }
                }
            }
            LogService.getLogger().info("采集病人成功,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
            logger.info("采集病人成功,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
            /**
             * 上传档案
             */
@ -131,18 +136,18 @@ public class CrawlerFlowManager {
                if (!CollectionUtil.isEmpty(dataMap.keySet())) {
                    if (!dispatch.upload(dataMap, patient, adapterDataSetMap)) {
                        message = "上传档案失败";
                        LogService.getLogger().error(message);
                        logger.error(message);
                        return message;
                    }
                }
            } catch (Exception e) {
                message = "上传档案失败";
                LogService.getLogger().error("档案上传失败,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
                logger.error("档案上传失败,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
                return message;
            }
        } catch (Exception e) {
            message = "采集病人失败";
            LogService.getLogger().error("采集病人失败,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo(), e);
            logger.error("采集病人失败,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo(), e);
            return message;
        }
        return Constants.EMPTY;
@ -267,7 +272,7 @@ public class CrawlerFlowManager {
            Patient patient = mapper.readValue(patientInfo, Patient.class);
            return patient;
        } catch (Exception e) {
            LogService.getLogger().error("patient参数错误:" + patientInfo, e);
            logger.error("patient参数错误:" + patientInfo, e);
            return null;
        }
    }

+ 14 - 11
Hos-resource/src/main/java/com/yihu/ehr/crawler/service/CrawlerManager.java

@ -7,7 +7,6 @@ import com.yihu.ehr.crawler.model.config.SysConfig;
import com.yihu.ehr.crawler.model.patient.Patient;
import com.yihu.ehr.framework.constrant.Constants;
import com.yihu.ehr.framework.model.DictItem;
import com.yihu.ehr.framework.util.log.LogService;
import com.yihu.ehr.framework.util.operator.CollectionUtil;
import com.yihu.ehr.framework.util.operator.StringUtil;
import com.yihu.ehr.framework.util.springutil.SpringBeanUtil;
@ -17,6 +16,8 @@ import com.yihu.ehr.standard.service.adapter.AdapterDatasetService;
import com.yihu.ehr.standard.service.adapter.AdapterSchemeVersionService;
import com.yihu.ehr.standard.service.bo.AdapterVersion;
import net.sf.json.JSONObject;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.ArrayList;
import java.util.HashMap;
@ -25,6 +26,8 @@ import java.util.Map;
public class CrawlerManager {
    private static Logger logger = LogManager.getLogger(CrawlerManager.class);
    private static volatile CrawlerManager instance;
    private static DataCollectDispatcher dispatch;
    private Map<String, AdapterDataSet> adapterDataSetMap;
@ -62,7 +65,7 @@ public class CrawlerManager {
        datasetList = (List<DictItem>) condition.get("datasetList");
        if (!getDataForPrepare()) {
            message = "适配数据尚未准备";
            LogService.getLogger().error(message);
            logger.error(message);
            return message;
        }
        List<Patient> patientList = dispatch.getPatientList(condition, adapterDataSetMap);
@ -73,7 +76,7 @@ public class CrawlerManager {
            }
        }
        message = "本次采集病人共" + totalCount + "条,成功采集信息"+ count + "条";
        LogService.getLogger().info(message);
        logger.info(message);
        return message;
    }
@ -82,16 +85,16 @@ public class CrawlerManager {
        String message;
        if (!getDataForPrepare()) {
            message = "适配数据尚未准备";
            LogService.getLogger().error(message);
            logger.error(message);
            return message;
        }
        patient.setReUploadFlg(StringUtil.toString(false));
        LogService.getLogger().trace("采集->注册->打包上传,任务ID:,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
        logger.trace("采集->注册->打包上传,任务ID:,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
        try {
            //getToken
            if (!dispatch.getToken()) {
                message = "token获取失败";
                LogService.getLogger().error(message);
                logger.error(message);
                return message;
            }
            Map<String, AdapterDataSet> dataSetMap = new HashMap<>();
@ -121,24 +124,24 @@ public class CrawlerManager {
                    }
                }
            }
            LogService.getLogger().info("采集病人成功,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
            logger.info("采集病人成功,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
            //上传档案
            try {
                if (!CollectionUtil.isEmpty(dataMap.keySet())) {
                    if (!dispatch.upload(dataMap, patient, dataSetMap)) {
                        message = "上传档案失败";
                        LogService.getLogger().error(message);
                        logger.error(message);
                        return message;
                    }
                }
            } catch (Exception e) {
                message = "上传档案失败";
                LogService.getLogger().error("档案上传失败,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
                logger.error("档案上传失败,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
                return message;
            }
        } catch (Exception e) {
            message = "采集病人失败";
            LogService.getLogger().error("采集病人失败,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo(), e);
            logger.error("采集病人失败,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo(), e);
            return message;
        }
        return Constants.EMPTY;
@ -193,7 +196,7 @@ public class CrawlerManager {
            Patient patient = mapper.readValue(patientInfo, Patient.class);
            return patient;
        } catch (Exception e) {
            LogService.getLogger().error("patient参数错误:" + patientInfo, e);
            logger.error("patient参数错误:" + patientInfo, e);
            return null;
        }
    }

+ 16 - 13
Hos-resource/src/main/java/com/yihu/ehr/crawler/service/DataCollectDispatcher.java

@ -13,20 +13,23 @@ import com.yihu.ehr.crawler.model.transform.EhrCondition;
import com.yihu.ehr.crawler.model.transform.LogicValues;
import com.yihu.ehr.framework.constrant.Constants;
import com.yihu.ehr.framework.util.file.FileUtil;
import com.yihu.ehr.framework.util.log.LogService;
import com.yihu.ehr.framework.util.operator.DateUtil;
import com.yihu.ehr.framework.util.operator.StringUtil;
import com.yihu.ehr.standard.model.adapter.AdapterMetadataModel;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.*;
public class DataCollectDispatcher {
    private static DataCollectDispatcher ourInstance = new DataCollectDispatcher();
    private static Logger logger = LogManager.getLogger(DataCollectDispatcher.class);
    private String token;
    private DataCollectDispatcher() {
    }
@ -47,7 +50,7 @@ public class DataCollectDispatcher {
            }
            return true;
        } catch (Exception e) {
            LogService.getLogger().error("本次任务执行失败,获取token失败!");
            logger.error("本次任务执行失败,获取token失败!");
            return false;
        }
    }
@ -109,7 +112,7 @@ public class DataCollectDispatcher {
                    }
                }
            } catch (Exception e) {
                LogService.getLogger().error("采集病人失败", e);
                logger.error("采集病人失败", e);
            }
        }
@ -125,7 +128,7 @@ public class DataCollectDispatcher {
            propertyMap.put(Constants.PATIENT_ID, adapterMetaData.getAdapterMetadataModel().getStdMetadataCode().toUpperCase());
        } else {
            LogService.getLogger().error("", new Exception("采集病人列表数据集必须有patient_id."));
            logger.error("", new Exception("采集病人列表数据集必须有patient_id."));
            return null;
        }
@ -133,13 +136,13 @@ public class DataCollectDispatcher {
            AdapterMetaData adapterMetaData = adapterDataSet.getAdapterMetaDataMap().get(patientIdentity.getEventNoCode());
            propertyMap.put(Constants.EVENT_NO,  adapterMetaData.getAdapterMetadataModel().getStdMetadataCode().toUpperCase());
        } else {
            LogService.getLogger().error("采集病人列表数据集必须有event_no.");
            logger.error("采集病人列表数据集必须有event_no.");
            return null;
        }
        AdapterMetaData adapterRefMetaData = adapterDataSet.getAdapterMetaDataMap().get(patientIdentity.getRefTimeCode());
        if (adapterRefMetaData == null) {
            LogService.getLogger().error("采集病人列表数据集必须有采集时间.");
            logger.error("采集病人列表数据集必须有采集时间.");
            return null;
        }
@ -216,7 +219,7 @@ public class DataCollectDispatcher {
        }
        if (!patientId && !eventNo) {
            LogService.getLogger().error("采集病人数据集至少需要一项病人标识.数据集名:" + adapterDataSet.getAdapterDataSetT().getStdDatasetCode());
            logger.error("采集病人数据集至少需要一项病人标识.数据集名:" + adapterDataSet.getAdapterDataSetT().getStdDatasetCode());
            return Constants.EMPTY;
        }
@ -250,7 +253,7 @@ public class DataCollectDispatcher {
            }
            if (!patientId && !eventNo) {
                LogService.getLogger().error("采集病人数据集至少需要一项病人标识.数据集名:" + adapterDataSet.getAdapterDataSetT().getStdDatasetCode());
                logger.error("采集病人数据集至少需要一项病人标识.数据集名:" + adapterDataSet.getAdapterDataSetT().getStdDatasetCode());
                return Constants.EMPTY;
            }
@ -290,7 +293,7 @@ public class DataCollectDispatcher {
            }
        } catch (Exception e) {
            LogService.getLogger().error("", e);
            logger.error("", e);
        }
        return null;
@ -326,14 +329,14 @@ public class DataCollectDispatcher {
            for (String key : dataMap.keySet()) {
                dataTransformer.setData(dataMap.get(key));
                if (!toFile(dataTransformer, patient, "origin")) {
                    LogService.getLogger().info("存储原始文件失败:patient_id=" + patient.getPatientId()
                    logger.info("存储原始文件失败:patient_id=" + patient.getPatientId()
                            + "event_no=" + patient.getEventNo());
                    result = false;
                    break;
                }
                dataTransformer.transfer(dataSetMap);
                if (!toFile(dataTransformer, patient, "standard")) {
                    LogService.getLogger().info("存储标准文件失败:patient_id=" + patient.getPatientId()
                    logger.info("存储标准文件失败:patient_id=" + patient.getPatientId()
                            + "event_no=" + patient.getEventNo());
                    result = false;
                    break;
@ -357,8 +360,8 @@ public class DataCollectDispatcher {
        try {
            writeFile = FileUtil.writeFile(filePath, jsonObject.toString(), "UTF-8");
        } catch (IOException e) {
            LogService.getLogger().info("存储临时文件失败.");
            LogService.getLogger().error("", e);
            logger.info("存储临时文件失败.");
            logger.error("", e);
        }
        return writeFile;
    }

+ 33 - 30
Hos-resource/src/main/java/com/yihu/ehr/crawler/service/EsbHttp.java

@ -12,11 +12,12 @@ import com.yihu.ehr.framework.util.encrypt.MD5;
import com.yihu.ehr.framework.util.httpclient.HttpClientUtil;
import com.yihu.ehr.framework.util.httpclient.HttpHelper;
import com.yihu.ehr.framework.util.httpclient.HttpResponse;
import com.yihu.ehr.framework.util.log.LogService;
import com.yihu.ehr.framework.util.operator.StringUtil;
import org.apache.http.HttpStatus;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.json.JSONObject;
import sun.misc.BASE64Encoder;
@ -28,6 +29,8 @@ import java.util.*;
 */
public class EsbHttp {
    private static Logger logger = LogManager.getLogger(EsbHttp.class);
    /***************************** 用户接口 *********************************************/
    /**
     * 用户登录验证
@ -88,7 +91,7 @@ public class EsbHttp {
                if (obj.has("token")) {
                    return obj.getString("token");
                } else {
                    LogService.getLogger().info("返回未包含token。");
                    logger.info("返回未包含token。");
                    return null;
                }
            } else {
@ -97,13 +100,13 @@ public class EsbHttp {
                if (response != null) {
                    msg += "(错误代码:" + response.getStatusCode() + ",错误信息:" + response.getBody() + ")";
                }
                LogService.getLogger().info(msg);
                logger.info(msg);
                return null;
            }
        }
        catch (Exception ex)
        {
            LogService.getLogger().info("获取Token失败," + ex.getMessage());
            logger.info("获取Token失败," + ex.getMessage());
            return null;
        }
    }
@ -125,25 +128,25 @@ public class EsbHttp {
            formParams.add(new BasicNameValuePair("param", params));
            HttpResponse response = HttpClientUtil.postForm(HttpHelper.httpGateway, formParams);
            if (response == null || response.getStatusCode() != 200) {
                LogService.getLogger().error("获取病人列表错误,请求HTTP错误,请检查配置或HTTP是否可用.");
                logger.error("获取病人列表错误,请求HTTP错误,请检查配置或HTTP是否可用.");
                return "";
            }
            JsonNode responseNode = mapper.readValue(response.getBody(), JsonNode.class);
            String code = responseNode.path("responseCode").asText();
            if (StringUtil.isEmpty(code) || !code.equals("10000")) {
                LogService.getLogger().error("获取病人列表错误,请求HTTP错误,请检查集成平台网关是否可用.");
                logger.error("获取病人列表错误,请求HTTP错误,请检查集成平台网关是否可用.");
                return "";
            }
            String rootStr = responseNode.path("responseResult").asText();
            if ("".equals(rootStr)) {
                LogService.getLogger().error("获取病人列表错误,集成平台获取病人列表失败.");
                logger.error("获取病人列表错误,集成平台获取病人列表失败.");
                return "";
            }
            return rootStr;
        } catch (Exception e) {
            LogService.getLogger().error("获取病人列表失败!", e);
            logger.error("获取病人列表失败!", e);
            return "";
        }
    }
@ -152,25 +155,25 @@ public class EsbHttp {
        try {
            HttpResponse response = HttpClientUtil.postForm(HttpHelper.httpGateway, formParams);
            if (response == null || response.getStatusCode() != 200) {
                LogService.getLogger().info("获取病人数据错误,请求HTTP错误,请检查配置或HTTP是否可用.");
                logger.info("获取病人数据错误,请求HTTP错误,请检查配置或HTTP是否可用.");
                return Constants.EMPTY;
            }
            ObjectMapper mapper = new ObjectMapper();
            JsonNode responseNode = mapper.readValue(response.getBody(), JsonNode.class);
            String code = responseNode.path("responseCode").asText();
            if (StringUtil.isEmpty(code) || !code.equals("10000")) {
                LogService.getLogger().info("获取病人数据错误,请求HTTP错误,请检查集成平台网关是否可用.");
                logger.info("获取病人数据错误,请求HTTP错误,请检查集成平台网关是否可用.");
                return Constants.EMPTY;
            }
            String rootStr = responseNode.path("responseResult").asText();
            if (Constants.EMPTY.equals(rootStr)) {
                LogService.getLogger().info("获取病人数据错误,集成平台获取病人数据失败.");
                logger.info("获取病人数据错误,集成平台获取病人数据失败.");
                return Constants.EMPTY;
            }
            return rootStr;
        } catch (Exception e) {
            LogService.getLogger().error("获取病人数据失败.", e);
            logger.error("获取病人数据失败.", e);
            return Constants.EMPTY;
        }
    }
@ -199,7 +202,7 @@ public class EsbHttp {
                    return publicKey;
                }
                else{
                    LogService.getLogger().info("获取公钥失败,返回未包含publicKey。");
                    logger.info("获取公钥失败,返回未包含publicKey。");
                    return null;
                }
            }
@ -210,11 +213,11 @@ public class EsbHttp {
                {
                    msg +="(错误代码:"+ response.getStatusCode() + ",错误信息:"+response.getBody()+")";
                }
                LogService.getLogger().info(msg);
                logger.info(msg);
                return null;
            }
        } catch (Exception e) {
            LogService.getLogger().info(e.getMessage());
            logger.info(e.getMessage());
            return null;
        }
    }
@ -242,13 +245,13 @@ public class EsbHttp {
                {
                    msg +="(错误代码:"+ response.getStatusCode() + ",错误信息:"+response.getBody()+")";
                }
                LogService.getLogger().info(msg);
                logger.info(msg);
                return null;
            }
        } catch (Exception e) {
            LogService.getLogger().info("获取远程版本号异常");
            LogService.getLogger().error(e.getCause().toString());
            logger.info("获取远程版本号异常");
            logger.error(e.getCause().toString());
            return null;
        }
    }
@ -267,14 +270,14 @@ public class EsbHttp {
                JSONObject p = (JSONObject)json.getJSONArray("data").get(0);
                if(!p.has(colName) || p.get(colName).equals(null) || p.getString(colName).length()==0)
                {
                    LogService.getLogger().info("注册病人信息请求失败:身份证号码为空,patient_id=" + patient.getPatientId() + ", event_no=" + patient.getEventNo());
                    logger.info("注册病人信息请求失败:身份证号码为空,patient_id=" + patient.getPatientId() + ", event_no=" + patient.getEventNo());
                    return false;
                }
                else{
                    String idCord = p.getString(colName);
                    String registerMethod = HttpHelper.defaultHttpUrl + "/patients/"+idCord;
                    if (StringUtil.isEmpty(data)) {
                        LogService.getLogger().info("注册病人信息请求失败:无具体病人信息,patient_id=" + patient.getPatientId() + ", event_no=" + patient.getEventNo());
                        logger.info("注册病人信息请求失败:无具体病人信息,patient_id=" + patient.getPatientId() + ", event_no=" + patient.getEventNo());
                        return false;
                    }
                    Map<String, Object> paramMap = new HashMap<>();
@ -284,7 +287,7 @@ public class EsbHttp {
                    HttpResponse response = HttpHelper.post(registerMethod, paramMap, header);
                    if (response != null && response.getStatusCode() == HttpStatus.SC_OK) {
                        LogService.getLogger().info("注册病人信息成功。patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
                        logger.info("注册病人信息成功。patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
                        return true;
                    }
                    else{
@ -293,20 +296,20 @@ public class EsbHttp {
                        {
                            msg +="(错误代码:"+ response.getStatusCode() + ",错误信息:"+response.getBody()+")";
                        }
                        LogService.getLogger().info(msg);
                        logger.info(msg);
                        return false;
                    }
                }
            }
            else{
                LogService.getLogger().info("注册病人信息请求失败:传入数据无效,patient_id=" + patient.getPatientId() + ", event_no=" + patient.getEventNo());
                logger.info("注册病人信息请求失败:传入数据无效,patient_id=" + patient.getPatientId() + ", event_no=" + patient.getEventNo());
                return false;
            }
        }
        catch (Exception e)
        {
            LogService.getLogger().info("注册病人信息请求失败." + e.getMessage());
            logger.info("注册病人信息请求失败." + e.getMessage());
            return false;
        }
    }
@ -328,7 +331,7 @@ public class EsbHttp {
            HttpResponse response = HttpHelper.postFile(uploadMethod, formParams, file.getAbsolutePath(), header);
            if (response != null && response.getStatusCode() == HttpStatus.SC_OK) {
                LogService.getLogger().info("上传病人档案成功,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
                logger.info("上传病人档案成功,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
                return true;
            }
            else {
@ -338,13 +341,13 @@ public class EsbHttp {
                {
                    msg +="(错误代码:"+ response.getStatusCode() + ",错误信息:"+response.getBody()+")";
                }
                LogService.getLogger().info(msg);
                logger.info(msg);
                return false;
            }
        }
        catch (Exception e) {
            LogService.getLogger().info("上传病人档案异常,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
            LogService.getLogger().error(e.getCause().toString());
            logger.info("上传病人档案异常,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
            logger.error(e.getCause().toString());
            return false;
        }
    }
@ -366,8 +369,8 @@ public class EsbHttp {
            HttpResponse response = HttpHelper.get(downLoadMethod, params, header);
            return response;
        } catch (Exception e) {
            LogService.getLogger().info("下载标准包异常:");
            LogService.getLogger().error(e.getCause().toString());
            logger.info("下载标准包异常:");
            logger.error(e.getCause().toString());
            return null;
        }
    }

+ 14 - 15
Hos-resource/src/main/java/com/yihu/ehr/crawler/service/OldPatientCDAUpload.java

@ -4,21 +4,18 @@ import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.ehr.crawler.model.config.SysConfig;
import com.yihu.ehr.crawler.model.patient.Patient;
import com.yihu.ehr.crawler.service.PatientCDAIndex;
import com.yihu.ehr.framework.util.compress.Zipper;
import com.yihu.ehr.framework.util.encrypt.MD5;
import com.yihu.ehr.framework.util.encrypt.RSA;
import com.yihu.ehr.framework.util.file.FileUtil;
import com.yihu.ehr.framework.util.http.HOPClient;
import com.yihu.ehr.framework.util.http.Response;
import com.yihu.ehr.framework.util.httpclient.HttpHelper;
import com.yihu.ehr.framework.util.httpclient.HttpResponse;
import com.yihu.ehr.framework.util.log.LogService;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.io.File;
import java.io.IOException;
import java.security.Key;
import java.util.*;
@ -31,6 +28,8 @@ import java.util.*;
 */
public class OldPatientCDAUpload {
    private static Logger logger = LogManager.getLogger(OldPatientCDAUpload.class);
    public static String uploadMethod;
    /**
@ -43,19 +42,19 @@ public class OldPatientCDAUpload {
        ZipFile zipFile = zip(patient);
        try {
            if (zipFile == null || zipFile.file == null) {
                LogService.getLogger().info("压缩病人档案失败,病人文档未生成,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
                logger.info("压缩病人档案失败,病人文档未生成,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
                return false;
            }
            boolean result = upload(patient, zipFile,token);
            if (!result) {
                LogService.getLogger().info("上传病人档案失败,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
                logger.info("上传病人档案失败,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
                FileUtil.deleteDirectory(new File(zipFile.directory));
                return false;
            }
            result = FileUtil.deleteDirectory(new File(zipFile.directory));
            if (!result) {
                LogService.getLogger().info("删除临时文件失败,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
                logger.info("删除临时文件失败,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
            }
        } catch (Exception e) {
            FileUtil.deleteDirectory(new File(zipFile.directory));
@ -77,7 +76,7 @@ public class OldPatientCDAUpload {
            String pwd = uuidPwd.toString();
            Key key = RSA.genPublicKey(SysConfig.getInstance().getPublicKeyMap().get(patient.getOrgCode()));
            if (key == null) {
                LogService.getLogger().info("压缩文件错误,无公钥信息.");
                logger.info("压缩文件错误,无公钥信息.");
                FileUtil.deleteDirectory(new File( patientCDAIndex.getDirectory()));
                return null;
            }
@ -93,7 +92,7 @@ public class OldPatientCDAUpload {
            return zipFile;
        } catch (Exception e) {
            e.printStackTrace();
            LogService.getLogger().info("从data目录生成zip数据时,压缩文件异常", e);
            logger.info("从data目录生成zip数据时,压缩文件异常", e);
        }
        return null;
@ -112,12 +111,12 @@ public class OldPatientCDAUpload {
            header.put("Authorization", "Basic " + HttpHelper.clientKey);
            HttpResponse response = HttpHelper.postFile(uploadMethod, formParams, zipFile.file.getAbsolutePath(), header);
            if (response == null) {
                LogService.getLogger().info( "上传病人档案请求失败,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
                logger.info( "上传病人档案请求失败,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
                return false;
            }
            if (response.getStatusCode() != 200) {
                LogService.getLogger().info( "上传病人档案请求失败,错误代码:" + response.getStatusCode() + ",patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
                logger.info( "上传病人档案请求失败,错误代码:" + response.getStatusCode() + ",patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
                return false;
            }
@ -126,16 +125,16 @@ public class OldPatientCDAUpload {
            JsonNode codeNode = rootNode.get("code");
            String result = codeNode.asText();
            if (!result.equals("0")) {
                LogService.getLogger().info("上传病人档案失败,错误代码:" + result + ",patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
                logger.info("上传病人档案失败,错误代码:" + result + ",patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
                return false;
            } else {
                LogService.getLogger().info( "上传病人档案成功,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
                logger.info( "上传病人档案成功,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
                return true;
            }
        } catch (Exception e) {
            e.printStackTrace();
            LogService.getLogger().info( "上传病人档案异常,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
            logger.info( "上传病人档案异常,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
            return false;
        }
    }

+ 11 - 8
Hos-resource/src/main/java/com/yihu/ehr/crawler/service/PatientCDAUpload.java

@ -5,7 +5,8 @@ import com.yihu.ehr.crawler.model.patient.Patient;
import com.yihu.ehr.framework.util.compress.Zipper;
import com.yihu.ehr.framework.util.encrypt.RSA;
import com.yihu.ehr.framework.util.file.FileUtil;
import com.yihu.ehr.framework.util.log.LogService;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.io.File;
import java.security.Key;
@ -20,6 +21,8 @@ import java.util.UUID;
 */
public class PatientCDAUpload {
    private static Logger logger = LogManager.getLogger(PatientCDAUpload.class);
    public static String uploadMethod;
    /**
@ -32,20 +35,20 @@ public class PatientCDAUpload {
        ZipFile zipFile = zip(patient);
        try {
            if (zipFile == null || zipFile.file == null) {
                LogService.getLogger().info("压缩病人档案失败,病人文档未生成,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
                logger.info("压缩病人档案失败,病人文档未生成,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
                return false;
            }
            boolean result = upload(patient, zipFile, token);
            if (!result) {
                LogService.getLogger().info("上传病人档案失败,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
                logger.info("上传病人档案失败,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
                return result;
            }
            LogService.getLogger().trace(zipFile.directory);
            logger.trace(zipFile.directory);
            result = FileUtil.deleteDirectory(new File(zipFile.directory));
            if (!result) {
                LogService.getLogger().info("删除临时文件失败,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
                logger.info("删除临时文件失败,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
                return result;
            }
        } catch (Exception e) {
@ -75,7 +78,7 @@ public class PatientCDAUpload {
            Key key = RSA.genPublicKey(publicKey);
            if (key == null) {
                LogService.getLogger().info("压缩文件错误,获取公钥错误.");
                logger.info("压缩文件错误,获取公钥错误.");
                return null;
            }
@ -89,8 +92,8 @@ public class PatientCDAUpload {
            return zipFile;
        } catch (Exception e) {
            LogService.getLogger().error("从data目录生成zip数据时,压缩文件异常");
            LogService.getLogger().error(e.getCause().toString());
            logger.error("从data目录生成zip数据时,压缩文件异常");
            logger.error(e.getCause().toString());
        }
        return null;

+ 5 - 0
Hos-resource/src/main/java/com/yihu/ehr/job/service/ArchiveUploadJob.java

@ -8,6 +8,8 @@ import com.yihu.ehr.framework.constrant.DateConvert;
import com.yihu.ehr.framework.model.DataGridResult;
import com.yihu.ehr.framework.util.DateUtil;
import com.yihu.ehr.framework.util.springutil.SpringBeanUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.Date;
import java.util.HashMap;
@ -18,10 +20,13 @@ import java.util.Map;
 */
public class ArchiveUploadJob implements IBaseJob {
    private static Logger logger = LogManager.getLogger(ArchiveUploadJob.class);
    @Override
    public void execute(String jobId) throws Exception{
        System.out.println("档案上传quartz:"+DateConvert.toString(new Date()) + ":"+jobId);
        logger.info("档案上传quartz:"+DateConvert.toString(new Date()) + ":"+jobId);
        IDatacollectManager datacollect = SpringBeanUtil.getService(Services.Datacollect);
        RsJobConfig job = datacollect.getJobById(jobId);
        Map<String, Object> condition = new HashMap<>();

+ 0 - 22
Hos-resource/src/main/resources/log4j/log4j2.xml

@ -1,22 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<log4j:configuration debug="true" xmlns:log4j="http://jakarta.apache.org/log4j/">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss}[HA][%-5p][%t][%c]: %m%n"/>
        </Console>
        <RollingFile name="RollingFile" filename="log/CrunchifyTest.log"
                     filepattern="${logPath}/%d{yyyyMMddHHmmss}-fargo.log">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n"/>
            <Policies>
                <SizeBasedTriggeringPolicy size="100 MB"/>
            </Policies>
            <DefaultRolloverStrategy max="20"/>
        </RollingFile>
    </Appenders>
    <Loggers>
        <Root level="info">
            <AppenderRef ref="Console"/>
            <!--AppenderRef ref="RollingFile" /-->
        </Root>
    </Loggers>
</log4j:configuration>

+ 26 - 0
Hos-resource/src/main/resources/log4j2.xml

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration status ="ALL"  monitorInterval="1800">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss}[xxxxxxxxxxxx][%-5p][%t][%c]: %m%n"/>
        </Console>
        <RollingFile name="RollingFile" filename="D:/log4j2/log/CrunchifyTest.log"
                     filepattern="D:/log4j2/rolling/%d{yyyyMMddHHmmss}-fargo.log">
            <PatternLayout charset="UTF-8" pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n"/>
            <Policies>
                <SizeBasedTriggeringPolicy size="100 MB"/>
            </Policies>
            <DefaultRolloverStrategy max="20"/>
        </RollingFile>
    </Appenders>
    <Loggers>
        <Root level="trace">
            <AppenderRef ref="Console"/>
            <AppenderRef ref="RollingFile" />
        </Root>
    </Loggers>
</configuration>

+ 1 - 1
Hos-resource/src/main/webapp/WEB-INF/web.xml

@ -82,7 +82,7 @@
    </listener>
    <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>classpath:log4j/log4j2.xml</param-value>
        <param-value>classpath:log4j2.xml</param-value>
    </context-param>
    <context-param>
        <param-name>log4jRefreshInterval</param-name>