Commit 25c83db11eed5c55b7450370dbd8879edc15e1b9

Authored by liquanyu
1 parent df6bac84f1

update

Showing 8 changed files with 192 additions and 164 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java View file @ 25c83db
... ... @@ -990,7 +990,9 @@
990 990 BabyEarResult babyEarResult = (BabyEarResult) babyEarById.getData();//获取要保存的眼保健档案 /babyear
991 991  
992 992 BabyEarAddRequest babyEarAddRequest = new BabyEarAddRequest();
993   - babyEarAddRequest.setBase(babyEarResult.getBase());
  993 + BabyEarBase babyEarBase = babyEarResult.getBase();
  994 + babyEarBase.setCreateUserId(model.getBuildDoctor());
  995 + babyEarAddRequest.setBase(babyEarBase);
994 996 babyEarAddRequest.setBabyBirth(babyEarResult.getBabyBirth());
995 997  
996 998 BabyPatientExtendEarMotherRequest patientExtendEarMother = new BabyPatientExtendEarMotherRequest();
... ... @@ -2688,10 +2690,10 @@
2688 2690 babyQuery.setDueWeekEnd(request.getDueWeekEnd());
2689 2691  
2690 2692 if (String.valueOf("true").equals(request.getIsArea())) {
2691   - List list = new ArrayList();
2692   - list.add("1");//转诊,建档已接受
2693   - list.add("2");//隐藏建档
2694   - babyQuery.setEnableListNot(list);
  2693 +// List list = new ArrayList();
  2694 +// list.add("1");//转诊,建档已接受
  2695 +// list.add("2");//隐藏建档
  2696 +// babyQuery.setEnableListNot(list);
2695 2697 OrganizationQuery organizationQuery = new OrganizationQuery();
2696 2698 if (!StringUtils.isEmpty(request.getHospitalId())) {
2697 2699 hospitalIdList.add(request.getHospitalId());
... ... @@ -3319,6 +3321,7 @@
3319 3321  
3320 3322 babyQuery.setStreetId(StringUtils.isEmpty(request.getStreetId()) ? null : request.getStreetId());
3321 3323 babyQuery.setQueryNo(request.getQueryNo());
  3324 + System.out.println(babyQuery.convertToQuery().convertToMongoQuery().toString());
3322 3325 List <BabyModel> models = babyBookbuildingService.queryBabyBuildByCond(babyQuery, "created", Sort.Direction.DESC);
3323 3326  
3324 3327 return models;
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/NewbornServiceImpl.java View file @ 25c83db
... ... @@ -99,7 +99,8 @@
99 99 String hospitalId = autoMatchFacade.getHospitalId(userId);
100 100 newbornVisit.setHospitalId(hospitalId);
101 101 if(StringUtils.isEmpty(newbornVisit.getId())) {
102   - if(!buildArchive(userId, newbornVisit.getPid(), newbornVisit.getBabyId())) {
  102 + BabyModel babyModel = buildArchive(userId, newbornVisit.getPid(), newbornVisit.getBabyId());
  103 + if(babyModel == null) {
103 104 return RespBuilder.buildSuccess(ResponseCode.NEED_BUILD);
104 105 }
105 106 newbornVisit.setId(UUID.randomUUID().toString().replace("-", ""));
... ... @@ -113,7 +114,6 @@
113 114 newbornVisit.setOperationId(userId.toString());
114 115 newbornVisit.setCreated(new Date());
115 116 newbornVisit.setYn("1");
116   - BabyModel babyModel = mongoTemplate.findById(newbornVisit.getBabyId(), BabyModel.class);
117 117 if(babyModel != null) {
118 118 newbornVisit.setPid(babyModel.getPid());
119 119 }
... ... @@ -148,7 +148,7 @@
148 148 * @param userId
149 149 * @return
150 150 */
151   - private boolean buildArchive(Integer userId, String pid, String babyId) {
  151 + private BabyModel buildArchive(Integer userId, String pid, String babyId) {
152 152 if(StringUtils.isEmpty(pid)) {
153 153 BabyModel babyModel = mongoTemplate.findById(babyId, BabyModel.class);
154 154 if(babyModel != null) {
... ... @@ -160,7 +160,7 @@
160 160 // 如果本院已有记录 直接走正常流程
161 161 BabyModel baby = mongoTemplate.findOne(Query.query(Criteria.where("pid").is(pid).and("hospitalId").is(hospitalId)).with(new Sort(Sort.Direction.DESC, "created")), BabyModel.class);
162 162 if(baby != null) {
163   - return true;
  163 + return baby;
164 164 }
165 165  
166 166 List<String> hospitalIds = organizationGroupsFacade.findGroupHospital(userId, true);
... ... @@ -168,7 +168,7 @@
168 168 BabyModel babyModel = mongoTemplate.findOne(Query.query(Criteria.where("hospitalId").in(hospitalIds)
169 169 .and("pid").is(pid).and("enable").ne("2")).with(new Sort(Sort.Direction.DESC, "created")), BabyModel.class);
170 170 if(babyModel == null) {
171   - return false; // 需 要建档
  171 + return null; // 需 要建档
172 172 }
173 173 babyModel.setId(null);
174 174 babyModel.setHospitalId(hospitalId);
175 175  
... ... @@ -176,10 +176,10 @@
176 176 // babyModel.setEnable("2");
177 177 babyModel.setSource(babyId);
178 178 babyModel.setCreated(new Date());
179   - mongoTemplate.save(babyModel);
180   - return true;
  179 + babyModel = babyService.addOneBaby(babyModel);
  180 + return babyModel;
181 181 }
182   - return false;
  182 + return null;
183 183 }
184 184  
185 185 @Override
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java View file @ 25c83db
... ... @@ -3446,49 +3446,14 @@
3446 3446 String hospitalId = autoMatchFacade.getHospitalId(userId);
3447 3447 Set<String> patientIds = new HashSet<>();
3448 3448  
3449   - Criteria criteria = Criteria.where("hospitalId").is(hospitalId).and("yn").nin(0);
3450 3449  
3451   - /** 产前检查: lyms_antexc(初诊),lyms_antex(复诊)设置pid */
3452   - List<AntenatalExaminationModel> antenatalExaminationModels = mongoUtil.findField(AntenatalExaminationModel.class, criteria, "parentId");
3453   - for (AntenatalExaminationModel antenatalExaminationModel : antenatalExaminationModels) {
3454   - patientIds.add(antenatalExaminationModel.getParentId());
3455   - }
3456   - List<AntExChuModel> antExChuModels = mongoUtil.findField(AntExChuModel.class, criteria, "parentId");
3457   - for (AntExChuModel antExChuModel : antExChuModels) {
3458   - patientIds.add(antExChuModel.getParentId());
3459   - }
3460 3450  
3461   - /** 产妇分娩: lyms_matdeliver */
3462   - List<MaternalDeliverModel> deliverModels = mongoUtil.findField(MaternalDeliverModel.class, criteria, "parentId");
3463   - for (MaternalDeliverModel deliverModel : deliverModels) {
3464   - patientIds.add(deliverModel.getParentId());
3465   - }
3466   -
3467   - /** 出院小结: lyms_discharge_abstract_mother 医院需要确定下 */
3468   - Criteria disCriteria = Criteria.where("createDate").gte(DateUtil.getYearDate(year))
3469   - .lt(DateUtil.getNextYearDate(year)).and("yn").nin(0);
3470   - List<DischargeAbstractMotherModel> dischargeAbstractMotherModels = mongoUtil.findField(DischargeAbstractMotherModel.class, disCriteria, "patientId");
3471   - for (DischargeAbstractMotherModel dischargeAbstractMotherModel : dischargeAbstractMotherModels) {
3472   - patientIds.add(dischargeAbstractMotherModel.getPatientId());
3473   - }
3474   -
3475   - /** 产后复查: lyms_postreview */
3476   - List<PostReviewModel> postReviewModels = mongoUtil.findField(PostReviewModel.class, criteria, "parentId");
3477   - for (PostReviewModel postReviewModel : postReviewModels) {
3478   - patientIds.add(postReviewModel.getParentId());
3479   - }
3480   -
3481   - /** 产前筛查: lyms_sieveapplyorder */
3482   - List<SieveApplyOrderModel> sieveModels = mongoUtil.findField(SieveApplyOrderModel.class, criteria, "parentId");
3483   - for (SieveApplyOrderModel sieveModel : sieveModels) {
3484   - patientIds.add(sieveModel.getParentId());
3485   - }
3486   -
3487 3451 /** 增加年份条件限制 */
3488   - criteria = Criteria.where("bookbuildingDate").gte(DateUtil.getYearDate(year))
  3452 + Criteria criteria = Criteria.where("bookbuildingDate").gte(DateUtil.getYearDate(year))
3489 3453 .lt(DateUtil.getNextYearDate(year))
3490   - .and("hospitalId").is(hospitalId).and("id").in(patientIds).and("yn").nin(0);
3491   -
  3454 + .and("hospitalId").is(hospitalId).and("yn").is(1)
  3455 + .and("enable").nin(Arrays.asList(1,2)).and("buildType").ne(1);
  3456 + System.out.println(Query.query(criteria).toString());
3492 3457 if (StringUtils.isNotEmpty(provinceId)) {
3493 3458 criteria.and("provinceRegisterId").in(CollectionUtils.asList(provinceId));
3494 3459 }
platform-transfer/src/main/java/com/lyms/platform/worker/BoneTransferWorker.java View file @ 25c83db
... ... @@ -5,6 +5,8 @@
5 5 import com.lyms.platform.conn.inf.ConnectionFactoryMethod;
6 6 import com.lyms.platform.conn.inf.IConnection;
7 7 import org.apache.commons.httpclient.util.DateUtil;
  8 +import org.slf4j.Logger;
  9 +import org.slf4j.LoggerFactory;
8 10 import org.springframework.beans.factory.annotation.Autowired;
9 11 import org.springframework.stereotype.Component;
10 12  
11 13  
... ... @@ -21,12 +23,13 @@
21 23 */
22 24 @Component
23 25 public class BoneTransferWorker extends TransferAbstract implements ITransfer{
24   -
  26 + private static final Logger logger = LoggerFactory.getLogger(BoneTransferWorker.class);
25 27 @Autowired
26 28 private ApplicationProperties properties;
27 29  
28 30 @Override
29 31 public void doTransfer() {
  32 + logger.info("getBoneRecords start");
30 33 System.out.println("getBoneRecords start");
31 34 Connection conn = null;
32 35 Statement sta = null;
33 36  
34 37  
... ... @@ -38,11 +41,17 @@
38 41 conn = iConnection.getConnection();
39 42 sta = conn.createStatement();
40 43 String sql = "select PatientID,ZScore,TScore,dbSos,dbBqi,dbRrf,dbEoa,YoungAdult,ageMatched,dbAge,PartDisplayName,PatientName from PatientInfo where status is null and DayTimeOfSave > "+ DateUtil.formatDate(new Date(),"yyyy-MM-dd");
  44 + logger.info("getBoneRecords sql="+sql);
41 45 rst = sta.executeQuery(sql);
42 46 while (rst.next()) {
  47 +
  48 +
43 49 Map map = new HashMap();
44 50  
45 51 String PatientID = rst.getString("PatientID"); //身份证后八位
  52 +
  53 + logger.info("getBoneRecords PatientID"+PatientID);
  54 +
46 55 map.put("cardNo",PatientID);
47 56  
48 57 String PartDisplayName = rst.getString("PartDisplayName");
49 58  
... ... @@ -88,10 +97,11 @@
88 97 }
89 98 }
90 99 } catch (Exception e) {
  100 + logger.error("getBoneRecords Exception.",e.toString());
91 101 try {
92 102 conn.rollback();
93 103 } catch (SQLException e1) {
94   - e1.printStackTrace();
  104 + logger.error("getBoneRecords error.",e1.toString());
95 105 }
96 106 }
97 107 finally {
platform-transfer/src/main/java/com/lyms/platform/worker/TransferAbstract.java View file @ 25c83db
... ... @@ -2,6 +2,8 @@
2 2  
3 3 import com.lyms.platform.comm.HttpClientUtil;
4 4 import com.lyms.platform.comm.JsonUtil;
  5 +import org.slf4j.Logger;
  6 +import org.slf4j.LoggerFactory;
5 7  
6 8 import java.util.Map;
7 9  
... ... @@ -9,7 +11,7 @@
9 11 * Created by Administrator on 2020-03-23.
10 12 */
11 13 public abstract class TransferAbstract implements ITransfer {
12   -
  14 + private static final Logger logger = LoggerFactory.getLogger(BoneTransferWorker.class);
13 15 public abstract void doTransfer();
14 16  
15 17 @Override
16 18  
... ... @@ -17,9 +19,10 @@
17 19 if (data != null && data.size() > 0)
18 20 {
19 21 String json = JsonUtil.obj2Str(data);
20   - System.out.println(json);
  22 + logger.info("http json= " + json);
21 23 String result = HttpClientUtil.doPostSSL(path, json);
22 24 System.out.println("http result= "+result);
  25 + logger.info("http result= "+result);
23 26 return result;
24 27 }
25 28 return "";
platform-transfer/src/main/resources/application.yml View file @ 25c83db
... ... @@ -3,5 +3,8 @@
3 3  
4 4 spring:
5 5 profiles:
6   - active: test
  6 + active: xlxfy
  7 +logging:
  8 + config: classpath:logback-spring.xml
  9 + path: logs
platform-transfer/src/main/resources/log4j_config.xml View file @ 25c83db
1   -<?xml version="1.0" encoding="UTF-8"?>
2   -<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
3   -<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
4   -
5   - <!-- Appenders -->
6   -
7   - <!-- Console log -->
8   - <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
9   - <layout class="org.apache.log4j.PatternLayout">
10   - <param name="ConversionPattern" value="%d %p - %m%n" />
11   - </layout>
12   - <filter class="org.apache.log4j.varia.LevelRangeFilter">
13   - <!--<param name="LevelMin" value="INFO" /> -->
14   - <param name="LevelMax" value="FATAL" />
15   - </filter>
16   - </appender>
17   - <!-- Normal log: [DEBUG->WARN] -->
18   - <appender name="Access" class="org.apache.log4j.RollingFileAppender">
19   - <param name="File" value="${catalina.base}/logs/access-perf.log" />
20   - <param name="Append" value="true" />
21   - <param name="MaxFileSize" value="10MB" />
22   - <param name="MaxBackupIndex" value="2" />
23   - <param name="Threshold" value="DEBUG" />
24   - <layout class="org.apache.log4j.PatternLayout">
25   - <param name="ConversionPattern" value="%d %p - %m%n" />
26   - </layout>
27   - </appender>
28   - <appender name="Info" class="org.apache.log4j.RollingFileAppender">
29   - <param name="Append" value="true" />
30   - <param name="File" value="${catalina.base}/logs/biz_info.log" />
31   - <param name="maxFileSize" value="1024" />
32   - <param name="maxBackupIndex" value="2" />
33   - <layout class="org.apache.log4j.PatternLayout">
34   - <param name="ConversionPattern" value="%d %p - %m%n" />
35   - </layout>
36   - <filter class="org.apache.log4j.varia.LevelRangeFilter">
37   - <param name="LevelMin" value="INFO" />
38   - <param name="LevelMax" value="INFO" />
39   - <param name="AcceptOnMatch" value="true" />
40   - </filter>
41   - </appender>
42   - <!-- ERORR LOG: [ERROR->FATAL] -->
43   - <appender name="Error" class="org.apache.log4j.RollingFileAppender">
44   - <param name="Append" value="true" />
45   - <param name="File" value="${catalina.base}/logs/common_error.log" />
46   - <param name="MaxFileSize" value="1024" />
47   - <param name="MaxBackupIndex" value="2" />
48   - <layout class="org.apache.log4j.PatternLayout">
49   - <param name="ConversionPattern" value="%d [%t] %p - %m%n" />
50   - </layout>
51   - <filter class="org.apache.log4j.varia.LevelRangeFilter">
52   - <param name="LevelMin" value="ERROR" />
53   - <param name="LevelMax" value="ERROR" />
54   - <param name="AcceptOnMatch" value="true" />
55   - </filter>
56   - </appender>
57   -
58   - <!-- ========================================================================================== -->
59   - <!-- trace < debug < info < warn < error < fatal < off -->
60   - <!-- ========================================================================================== -->
61   -
62   -
63   - <appender name="DAL-MONITOR" class="org.apache.log4j.RollingFileAppender">
64   - <param name="Append" value="true" />
65   - <param name="File" value="${catalina.base}/logs/dal-perf.log" />
66   - <param name="MaxFileSize" value="100MB" />
67   - <param name="MaxBackupIndex" value="2" />
68   - <layout class="org.apache.log4j.PatternLayout">
69   - <param name="ConversionPattern" value="%d %p - %m%n" />
70   - </layout>
71   - </appender>
72   -
73   - <appender name="sync-data" class="org.apache.log4j.RollingFileAppender">
74   - <param name="Append" value="true" />
75   - <param name="File" value="${catalina.base}/logs/sync-data.log" />
76   - <param name="MaxFileSize" value="100MB" />
77   - <param name="MaxBackupIndex" value="2" />
78   - <layout class="org.apache.log4j.PatternLayout">
79   - <param name="ConversionPattern" value="%d %p - %m%n" />
80   - </layout>
81   - </appender>
82   - <logger name="sync-data">
83   - <level value="debug" />
84   - <appender-ref ref="sync-data" />
85   - </logger>
86   - <logger name="DAL-MONITOR">
87   - <level value="debug" />
88   - <appender-ref ref="DAL-MONITOR" />
89   - </logger>
90   - <logger name="ACCESS-MONITOR">
91   - <level value="debug" />
92   - <appender-ref ref="Access" />
93   - </logger>
94   - <logger name="org.springframework">
95   - <level value="debug" />
96   - <appender-ref ref="sync-data" />
97   - </logger>
98   - <!-- ibatis end -->
99   -
100   - <!-- Root Logger -->
101   - <root>
102   - <priority value="debug" />
103   - <appender-ref ref="STDOUT" />
104   - <appender-ref ref="Error" />
105   - </root>
106   -
107   -</log4j:configuration>
platform-transfer/src/main/resources/logback-spring.xml View file @ 25c83db
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<configuration>
  3 +
  4 + <!-- 项目名称 -->
  5 + <property name="PROJECT_NAME" value="platform-hospital" />
  6 +
  7 + <!-- 日志保存路径为tomcat下面的logs下面的user_center文件夹,logback会自动创建文件夹,这样设置了就可以输出日志文件了 -->
  8 + <substitutionProperty name="logbase" value="tlogs"/>
  9 +
  10 +
  11 + <!-- 日志记录器,日期滚动记录 -->
  12 + <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
  13 + <!-- 正在记录的日志文件的路径及文件名 -->
  14 + <file>${logbase}/log_error.log</file>
  15 + <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
  16 + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  17 + <fileNamePattern>${logbase}/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  18 + <!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始, 命名日志文件,例如log-error-2017-09-21.0.log -->
  19 + <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  20 + <maxFileSize>10MB</maxFileSize>
  21 + </timeBasedFileNamingAndTriggeringPolicy>
  22 + </rollingPolicy>
  23 + <!-- 追加方式记录日志 -->
  24 + <append>true</append>
  25 + <!-- 日志文件的格式 -->
  26 + <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  27 + <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] %logger Line:%-3L - %msg%n</pattern>
  28 + <charset>utf-8</charset>
  29 + </encoder>
  30 + <!-- 此日志文件只记录info级别的 -->
  31 + <filter class="ch.qos.logback.classic.filter.LevelFilter">
  32 + <level>error</level>
  33 + <onMatch>ACCEPT</onMatch>
  34 + <onMismatch>DENY</onMismatch>
  35 + </filter>
  36 + </appender>
  37 +
  38 +
  39 +
  40 + <!-- 日志记录器,日期滚动记录 -->
  41 + <appender name="DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
  42 + <!-- 正在记录的日志文件的路径及文件名 -->
  43 + <file>${logbase}/log_debug.log</file>
  44 + <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
  45 + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  46 + <fileNamePattern>${logbase}/log-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  47 + <!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始,命名日志文件,例如log-error-2018-09-21.0.log -->
  48 + <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  49 + <maxFileSize>10MB</maxFileSize>
  50 + </timeBasedFileNamingAndTriggeringPolicy>
  51 + </rollingPolicy>
  52 + <!-- 追加方式记录日志 -->
  53 + <append>true</append>
  54 + <!-- 日志文件的格式 -->
  55 + <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  56 + <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] %logger Line:%-3L - %msg%n</pattern>
  57 + <charset>utf-8</charset>
  58 + </encoder>
  59 + <!-- 此日志文件只记录debug级别的 -->
  60 + <filter class="ch.qos.logback.classic.filter.LevelFilter">
  61 + <level>debug</level>
  62 + <onMatch>ACCEPT</onMatch>
  63 + <onMismatch>DENY</onMismatch>
  64 + </filter>
  65 + </appender>
  66 +
  67 +
  68 +
  69 + <!-- 日志记录器,日期滚动记录 -->
  70 + <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
  71 + <!-- 正在记录的日志文件的路径及文件名 -->
  72 + <file>${logbase}/log_info.log</file>
  73 + <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
  74 + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  75 + <fileNamePattern>${logbase}/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  76 + <!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始, 命名日志文件,例如log-error-2017-09-21.0.log -->
  77 + <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  78 + <maxFileSize>10MB</maxFileSize>
  79 + </timeBasedFileNamingAndTriggeringPolicy>
  80 + </rollingPolicy>
  81 + <!-- 追加方式记录日志 -->
  82 + <append>true</append>
  83 + <!-- 日志文件的格式 -->
  84 + <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  85 + <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] %logger Line:%-3L - %msg%n</pattern>
  86 + <charset>utf-8</charset>
  87 + </encoder>
  88 + <!-- 此日志文件只记录info级别的 -->
  89 + <filter class="ch.qos.logback.classic.filter.LevelFilter">
  90 + <level>info</level>
  91 + <onMatch>ACCEPT</onMatch>
  92 + <onMismatch>DENY</onMismatch>
  93 + </filter>
  94 + </appender>
  95 +
  96 +
  97 + <!-- 日志记录器,日期滚动记录 -->
  98 + <appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
  99 + <!-- 正在记录的日志文件的路径及文件名 -->
  100 + <file>${logbase}/log_warn.log</file>
  101 + <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
  102 + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  103 + <fileNamePattern>${logbase}/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
  104 + <!-- 除按日志记录之外,还配置了日志文件不能超过2M,若超过2M,日志文件会以索引0开始,命名日志文件,例如log-error-2018-09-21.0.log -->
  105 + <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
  106 + <maxFileSize>10MB</maxFileSize>
  107 + </timeBasedFileNamingAndTriggeringPolicy>
  108 + </rollingPolicy>
  109 + <!-- 追加方式记录日志 -->
  110 + <append>true</append>
  111 + <!-- 日志文件的格式 -->
  112 + <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
  113 + <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] %logger Line:%-3L - %msg%n</pattern>
  114 + <charset>utf-8</charset>
  115 + </encoder>
  116 + <!-- 此日志文件只记录warn级别的 -->
  117 + <filter class="ch.qos.logback.classic.filter.LevelFilter">
  118 + <level>warn</level>
  119 + <onMatch>ACCEPT</onMatch>
  120 + <onMismatch>DENY</onMismatch>
  121 + </filter>
  122 + </appender>
  123 +
  124 +
  125 + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  126 + <!--encoder 默认配置为PatternLayoutEncoder-->
  127 + <encoder>
  128 + <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] %logger Line:%-3L - %msg%n</pattern>
  129 + <charset>utf-8</charset>
  130 + </encoder>
  131 + <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
  132 + <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  133 + <level>info</level>
  134 + </filter>
  135 + </appender>
  136 +
  137 +
  138 + <!-- 生产环境下,将此级别配置为适合的级别,以免日志文件太多或影响程序性能 -->
  139 + <logger name="com.lyms" level="info" additivity="false">
  140 + <appender-ref ref="ERROR" />
  141 + <appender-ref ref="DEBUG" />
  142 + <appender-ref ref="INFO" />
  143 + <appender-ref ref="WARN" />
  144 + <appender-ref ref="STDOUT" />
  145 + </logger>
  146 + <root level="info">
  147 + <!-- 生产环境将请 stdout 去掉 -->
  148 + <appender-ref ref="STDOUT" />
  149 + </root>
  150 +
  151 +</configuration>