Ver código fonte

update loggers.

deason 4 anos atrás
pai
commit
c00165484c

+ 6 - 6
examcloud-task-base/src/main/java/cn/com/qmth/examcloud/task/base/multithread/Basket.java

@@ -10,8 +10,8 @@ import org.slf4j.LoggerFactory;
 
 import cn.com.qmth.examcloud.commons.exception.StatusException;
 
-public  class  Basket {
-	private static final Logger logger = LoggerFactory.getLogger(Basket.class);
+public class Basket {
+	private static final Logger LOG = LoggerFactory.getLogger(Basket.class);
 	/**
 	 * 数据阻塞队列
 	 */
@@ -47,12 +47,12 @@ public  class  Basket {
 	 */
 	protected void offer(final Object value) throws InterruptedException {
 		if(isExcuteError) {
-			logger.error("**********************offer isExcuteError threadId:"+Thread.currentThread().getId());
+			LOG.error("**********************offer isExcuteError threadId:"+Thread.currentThread().getId());
 			throw new StatusException("1000001","线程异常");
 		}else {
 			boolean ret=queue.offer(value, 1, TimeUnit.MINUTES);
 			if(!ret) {
-				logger.info("**********************offer time out threadId:"+Thread.currentThread().getId()+value);
+				LOG.info("**********************offer time out threadId:"+Thread.currentThread().getId()+value);
 				this.offer(value);
 			}
 		}
@@ -64,12 +64,12 @@ public  class  Basket {
 	 */
 	protected Object consume() throws InterruptedException {
 		if(isExcuteError) {
-			logger.error("**********************poll isExcuteError  threadId:"+Thread.currentThread().getId());
+			LOG.error("**********************poll isExcuteError  threadId:"+Thread.currentThread().getId());
 			return new EndObject();
 		}else {
 			Object ob=queue.poll(1, TimeUnit.MINUTES);
 			if(ob==null) {
-				logger.info("**********************poll time out  threadId:"+Thread.currentThread().getId());
+				LOG.info("**********************poll time out  threadId:"+Thread.currentThread().getId());
 				return this.consume();
 			}else {
 				return ob;

+ 5 - 5
examcloud-task-base/src/main/java/cn/com/qmth/examcloud/task/base/multithread/Consumer.java

@@ -5,7 +5,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public abstract class Consumer<T>  extends Thread{
-	private static final Logger logger = LoggerFactory.getLogger(Consumer.class);
+	private static final Logger LOG = LoggerFactory.getLogger(Consumer.class);
 	private Basket basket;
 	
 	private String traceId;
@@ -15,7 +15,7 @@ public abstract class Consumer<T>  extends Thread{
 	@Override
 	public void run() {
 		ThreadContext.put("TRACE_ID", traceId);
-		logger.info("*******************Consumer:"+Thread.currentThread().getId()+" start");
+		LOG.info("*******************Consumer:"+Thread.currentThread().getId()+" start");
 		try {
 			while (true) {
 				//先判断是否有异常结束
@@ -30,16 +30,16 @@ public abstract class Consumer<T>  extends Thread{
 				}
 				@SuppressWarnings("unchecked")
 				T t=(T)o;
-				logger.info("*******************Consumer:"+Thread.currentThread().getId()+" consume");
+				LOG.info("*******************Consumer:"+Thread.currentThread().getId()+" consume");
 				//消费数据实现
 				consume(t);
 			}
 		} catch (Exception e) {
 			basket.setExcuteError(true);
-			logger.error("消费线程处理出错",e);
+			LOG.error("消费线程处理出错",e);
 		}finally {
 			basket.countDown();
-			logger.info("*******************Consumer:"+Thread.currentThread().getId()+" stop");
+			LOG.info("*******************Consumer:"+Thread.currentThread().getId()+" stop");
 			ThreadContext.clearAll();
 		}
 	}

+ 9 - 7
examcloud-task-base/src/main/java/cn/com/qmth/examcloud/task/base/multithread/Producer.java

@@ -9,7 +9,9 @@ import org.slf4j.LoggerFactory;
 import cn.com.qmth.examcloud.commons.exception.StatusException;
 
 public abstract class Producer {
-	private static final Logger logger = LoggerFactory.getLogger(Producer.class);
+
+	private static final Logger LOG = LoggerFactory.getLogger(Producer.class);
+
 	private Basket basket;
 	
 	/**
@@ -43,22 +45,22 @@ public abstract class Producer {
 
 	private void dispose() {
 		try {
-			logger.info("*******************Producer:开始处理");
+			LOG.info("*******************Producer:开始处理");
 			// 生产数据
 			produce(param);
-			logger.info("*******************Producer:生产结束");
+			LOG.info("*******************Producer:生产结束");
 			// 发送生产结束信息
 			endConsumer();
-			logger.info("*******************Producer:成功发送生产结束信息");
+			LOG.info("*******************Producer:成功发送生产结束信息");
 			// 等待子线程结束
-			logger.info("*******************Producer:等待消费线程结束");
+			LOG.info("*******************Producer:等待消费线程结束");
 			await();
-			logger.info("*******************Producer:消费线程已结束");
+			LOG.info("*******************Producer:消费线程已结束");
 			// 判断子线程是否正常结束
 			if (basket.isExcuteError()) {
 				throw new StatusException("1000001", "处理失败,线程异常");
 			}
-			logger.info("*******************Producer:结束处理");
+			LOG.info("*******************Producer:结束处理");
 		} catch (StatusException e) {
 			// 获取异常时发送异常结束信息
 			endConsumerAsError();

+ 5 - 5
examcloud-task-service/src/main/java/cn/com/qmth/examcloud/task/service/consumer/ReportsComputeConsumer.java

@@ -12,12 +12,12 @@ import cn.com.qmth.examcloud.web.support.SpringContextHolder;
 
 public class ReportsComputeConsumer extends Consumer<ReportsComputeEntity> {
 
-	private static final Logger logger = LoggerFactory.getLogger(ReportsComputeConsumer.class);
+	private static final Logger LOG = LoggerFactory.getLogger(ReportsComputeConsumer.class);
 	private ReportsComputeService reportsComputeService = SpringContextHolder.getBean(ReportsComputeService.class);
 
 	@Override
 	public void consume(ReportsComputeEntity et) {
-		logger.info("***************************报表计算开始,projectId:" + et.getProjectId());
+		LOG.info("***************************报表计算开始,projectId:" + et.getProjectId());
 		try {
 			// 修改报表计算任务状态
 			reportsComputeService.updateToComputing(et);
@@ -31,15 +31,15 @@ public class ReportsComputeConsumer extends Consumer<ReportsComputeEntity> {
 		} catch (StatusException e) {
 			// 计算出错
 			reportsComputeService.updateToFail(et, e.getDesc());
-			logger.error("***************************报表计算出错,projectId:" + et.getProjectId(), e);
+			LOG.error("***************************报表计算出错,projectId:" + et.getProjectId(), e);
 		} catch (Exception e) {
 			// 计算出错
 			reportsComputeService.updateToFail(et, "系统错误");
-			logger.error("***************************报表计算出错,projectId:" + et.getProjectId(), e);
+			LOG.error("***************************报表计算出错,projectId:" + et.getProjectId(), e);
 		} finally {
 			// 清除终止标志
 			reportsComputeService.clearStopingFlag(et.getId());
 		}
-		logger.info("***************************报表计算结束,projectId:" + et.getProjectId());
+		LOG.info("***************************报表计算结束,projectId:" + et.getProjectId());
 	}
 }

+ 5 - 5
examcloud-task-service/src/main/java/cn/com/qmth/examcloud/task/service/job/ExamStudentImportDataProcessingTask.java

@@ -129,7 +129,7 @@ public class ExamStudentImportDataProcessingTask extends AbstractTask {
 		try {
 			FileUtils.writeStringToFile(resultFile, sb.toString(), "UTF-8", true);
 		} catch (IOException e) {
-			debugLog.error("导入报告写入失败", e);
+			LOGGER.error("导入报告写入失败", e);
 			importEntity.setStatus(ExamStudentImportStatus.ERROR);
 			importEntity.setErrorDesc("导入报告写入失败");
 			examStudentImportRepo.saveAndFlush(importEntity);
@@ -202,7 +202,7 @@ public class ExamStudentImportDataProcessingTask extends AbstractTask {
 			}
 
 		} catch (StatusException e) {
-			debugLog.error("查询课程异常", e);
+			LOGGER.error("查询课程异常", e);
 			map.put("msg", "  " + e.getDesc());
 			entity.setStatusCode(e.getCode());
 			entity.setStatusDesc(e.getDesc());
@@ -226,7 +226,7 @@ public class ExamStudentImportDataProcessingTask extends AbstractTask {
 			}
 
 		} catch (StatusException e) {
-			debugLog.error("查询机构异常", e);
+			LOGGER.error("查询机构异常", e);
 			map.put("msg", "  " + e.getDesc());
 			entity.setStatusCode(e.getCode());
 			entity.setStatusDesc(e.getDesc());
@@ -301,7 +301,7 @@ public class ExamStudentImportDataProcessingTask extends AbstractTask {
 			examStudentTempRepo.saveAndFlush(entity);
 
 		} catch (StatusException e) {
-			debugLog.error("考生入库异常", e);
+			LOGGER.error("考生入库异常", e);
 			map.put("msg", "  " + e.getDesc());
 			failRecords.add(map);
 			entity.setStatusCode(e.getCode());
@@ -310,7 +310,7 @@ public class ExamStudentImportDataProcessingTask extends AbstractTask {
 			return;
 		} catch (Exception e) {
 			// ignore
-			taskLog.error("unexpected.", e);
+			LOGGER.error("unexpected.", e);
 		}
 
 	}

+ 2 - 2
examcloud-task-service/src/main/java/cn/com/qmth/examcloud/task/service/job/ExamStudentImportParsingFileTask.java

@@ -82,7 +82,7 @@ public class ExamStudentImportParsingFileTask extends AbstractTask {
         try {
             importExcel(importEntity);
         } catch (Exception e) {
-            debugLog.error("文件解析异常", e);
+            LOGGER.error("文件解析异常", e);
             importEntity.setStatus(ExamStudentImportStatus.ERROR);
             importEntity.setErrorDesc("文件解析异常");
             examStudentImportRepo.saveAndFlush(importEntity);
@@ -246,7 +246,7 @@ public class ExamStudentImportParsingFileTask extends AbstractTask {
                         es.setExamStageId(gesResp.getId());
                         es.setExamStageOrder(examStageOrder);
                     } catch (Exception e) {
-                        taskLog.error(e.getMessage());
+                        LOGGER.error(e.getMessage());
 
                         failRecords.add(buildFailRecord(es.getLineNum(), String.format("获取场次信息失败:%s的数据", examStageOrder)));
                         continue;

+ 3 - 3
examcloud-task-service/src/main/java/cn/com/qmth/examcloud/task/service/producer/MarkWorkCreateItemsProducer.java

@@ -25,7 +25,7 @@ public class MarkWorkCreateItemsProducer extends Producer {
             .getBean(ExamRecordForMarkingCloudService.class);
 
 
-    private static final Logger logger = LoggerFactory.getLogger(MarkWorkCreateItemsProducer.class);
+    private static final Logger LOG = LoggerFactory.getLogger(MarkWorkCreateItemsProducer.class);
 
     @Override
     protected void produce(Map<String, Object> param) throws Exception {
@@ -45,10 +45,10 @@ public class MarkWorkCreateItemsProducer extends Producer {
         List<ExamRecordForMarkingBean> examRecordForMarkingBeanList = markingResp.getExamRecordForMarkingBeanList();
         if(examRecordForMarkingBeanList!=null&&examRecordForMarkingBeanList.size()>0) {
         	List<String> result=duplicateRemoval(examRecordForMarkingBeanList);
-        	logger.info("创建评卷工作评分项,试卷套数:" + result.size());
+        	LOG.info("创建评卷工作评分项,试卷套数:" + result.size());
         	subListDispose(result, workId, batchSize);
         }else {
-        	logger.info("创建评卷工作评分项,试卷套数:0");
+        	LOG.info("创建评卷工作评分项,试卷套数:0");
         }
     }
 

+ 2 - 2
examcloud-task-service/src/main/java/cn/com/qmth/examcloud/task/service/producer/MarkWorkCreateProducer.java

@@ -27,7 +27,7 @@ public class MarkWorkCreateProducer extends Producer {
 
     private ExamCloudService examCloudService = SpringContextHolder.getBean(ExamCloudService.class);
 
-    private static final Logger logger = LoggerFactory.getLogger(MarkWorkCreateProducer.class);
+    private static final Logger LOG = LoggerFactory.getLogger(MarkWorkCreateProducer.class);
 
     @Override
     protected void produce(Map<String, Object> param) throws Exception {
@@ -59,7 +59,7 @@ public class MarkWorkCreateProducer extends Producer {
     private void createStudentPapers(Long examId, Long workId, ExamCourseRelationBean examCourseRelationBean,
             Long batchSize) throws InterruptedException {
         int count = 0;
-        logger.info("创建评卷工作课程答卷:" + examCourseRelationBean.getCourseCode() + examCourseRelationBean.getCourseName());
+        LOG.info("创建评卷工作课程答卷:" + examCourseRelationBean.getCourseCode() + examCourseRelationBean.getCourseName());
         // 通过“考试批次”和“课程Code”获取需要阅卷的考卷信息集合
         QueryValidExamRecordInfoPageReq req = new QueryValidExamRecordInfoPageReq();
         req.setBatchNum(workId + "");

+ 5 - 4
examcloud-task-service/src/main/java/cn/com/qmth/examcloud/task/service/producer/ReportsComputeProducer.java

@@ -12,12 +12,13 @@ import cn.com.qmth.examcloud.task.service.ReportsComputeService;
 import cn.com.qmth.examcloud.web.support.SpringContextHolder;
 
 public class ReportsComputeProducer extends Producer {
-	private static final Logger logger = LoggerFactory.getLogger(ReportsComputeProducer.class);
+	private static final Logger LOG = LoggerFactory.getLogger(ReportsComputeProducer.class);
+
 	private ReportsComputeService reportsComputeService = SpringContextHolder.getBean(ReportsComputeService.class);
 
 	@Override
 	protected void produce(Map<String, Object> param) throws Exception {
-		logger.info("***************************报表计算任务生产开始");
+		LOG.info("***************************报表计算任务生产开始");
 		Long sartId = 0l;
 		Integer limit = 100;
 		for (;;) {
@@ -26,7 +27,7 @@ public class ReportsComputeProducer extends Producer {
 			if(list!=null) {
 				count=list.size();
 			}
-			logger.info("***************************startId:"+sartId+" count:"+count);
+			LOG.info("***************************startId:"+sartId+" count:"+count);
 			if (list != null && list.size() > 0) {
 				for(ReportsComputeEntity et:list) {
 					sartId=et.getId();
@@ -37,6 +38,6 @@ public class ReportsComputeProducer extends Producer {
 				break;
 			}
 		}
-		logger.info("***************************报表计算任务生产结束");
+		LOG.info("***************************报表计算任务生产结束");
 	}
 }

+ 18 - 61
examcloud-task-starter/src/main/resources/log4j2.xml

@@ -2,65 +2,32 @@
 <Configuration status="WARN" monitorInterval="30">
 
     <Properties>
-        <Property name="commonLevel" value="${sys:log.commonLevel}"/>
-        <Property name="logPattern">
+        <Property name="LOG_LEVEL" value="${sys:log.commonLevel}"/>
+        <Property name="LOG_DIR" value="./logs/examcloud-task"/>
+        <Property name="LOG_PATTERN">
             %d{yyyy-MM-dd HH:mm:ss.SSS} | %clr{%level} | %X{TRACE_ID} %X{CALLER} | %clr{%c{1.1}:%L}{cyan} | %m%n
         </Property>
     </Properties>
 
     <Appenders>
-        <!-- 控制台 日志 -->
-        <Console name="Console" target="SYSTEM_OUT">
-            <PatternLayout pattern="${logPattern}" charset="UTF-8"/>
+        <Console name="CONSOLE_APPENDER" target="SYSTEM_OUT">
+            <PatternLayout pattern="${LOG_PATTERN}" charset="UTF-8"/>
         </Console>
 
-        <!-- debug 日志 -->
-        <RollingFile name="DEBUG_APPENDER"
-                     fileName="./logs/debug/debug.log"
-                     filePattern="./logs/debug/debug-%d{yyyy.MM.dd.HH}-%i.log">
-            <PatternLayout pattern="${logPattern}" charset="UTF-8"/>
-            <Policies>
-                <TimeBasedTriggeringPolicy interval="1" modulate="false"/>
-                <SizeBasedTriggeringPolicy size="100 MB"/>
-            </Policies>
-            <DefaultRolloverStrategy max="1000">
-                <Delete basePath="./logs/debug" maxDepth="1">
-                    <IfFileName glob="debug-*.log">
-                        <IfAccumulatedFileSize exceeds="2 GB"/>
-                    </IfFileName>
-                </Delete>
-            </DefaultRolloverStrategy>
-        </RollingFile>
+        <RollingFile name="FILE_APPENDER"
+                     fileName="${LOG_DIR}/debug.log"
+                     filePattern="${LOG_DIR}/debug-%d{yyyyMMdd}-%i.log">
+            <PatternLayout pattern="${LOG_PATTERN}" charset="UTF-8"/>
 
-        <!-- 接口日志 -->
-        <RollingFile name="INTERFACE_APPENDER" fileName="./logs/interface/interface.log"
-                     filePattern="./logs/interface/interface-%d{yyyy.MM.dd.HH}-%i.log">
-            <PatternLayout pattern="${logPattern}" charset="UTF-8"/>
             <Policies>
                 <TimeBasedTriggeringPolicy interval="1" modulate="false"/>
                 <SizeBasedTriggeringPolicy size="100 MB"/>
             </Policies>
-            <DefaultRolloverStrategy max="1000">
-                <Delete basePath="./logs/interface" maxDepth="1">
-                    <IfFileName glob="interface-*.log">
-                        <IfAccumulatedFileSize exceeds="10 GB"/>
-                    </IfFileName>
-                </Delete>
-            </DefaultRolloverStrategy>
-        </RollingFile>
 
-        <!-- 任务日志 -->
-        <RollingFile name="TASK_APPENDER" fileName="./logs/task/task.log"
-                     filePattern="./logs/task/task-%d{yyyy.MM.dd.HH}-%i.log">
-            <PatternLayout pattern="${logPattern}" charset="UTF-8"/>
-            <Policies>
-                <TimeBasedTriggeringPolicy interval="1" modulate="false"/>
-                <SizeBasedTriggeringPolicy size="100 MB"/>
-            </Policies>
             <DefaultRolloverStrategy max="1000">
-                <Delete basePath="./logs/task" maxDepth="1">
-                    <IfFileName glob="task-*.log">
-                        <IfAccumulatedFileSize exceeds="2 GB"/>
+                <Delete basePath="${LOG_DIR}" maxDepth="1">
+                    <IfFileName glob="debug-*.log">
+                        <IfAccumulatedFileSize exceeds="10 GB"/>
                     </IfFileName>
                 </Delete>
             </DefaultRolloverStrategy>
@@ -84,24 +51,14 @@
         <!--<logger name="org.springframework.data.mongodb" level="DEBUG"/>-->
         <!--<logger name="org.springframework.data.redis" level="DEBUG"/>-->
 
-        <Logger name="cn.com.qmth" level="${commonLevel}" additivity="false">
-            <AppenderRef ref="DEBUG_APPENDER"/>
-            <AppenderRef ref="Console"/>
-        </Logger>
-
-        <Logger name="INTERFACE_LOGGER" level="${commonLevel}" additivity="false">
-            <AppenderRef ref="INTERFACE_APPENDER"/>
-            <AppenderRef ref="Console"/>
-        </Logger>
-
-        <Logger name="TASK_LOGGER" level="${commonLevel}" additivity="false">
-            <AppenderRef ref="TASK_APPENDER"/>
-            <AppenderRef ref="Console"/>
+        <Logger name="cn.com.qmth" level="${LOG_LEVEL}" additivity="false">
+            <AppenderRef ref="CONSOLE_APPENDER"/>
+            <AppenderRef ref="FILE_APPENDER"/>
         </Logger>
 
-        <Root level="${commonLevel}">
-            <AppenderRef ref="Console"/>
-            <AppenderRef ref="DEBUG_APPENDER"/>
+        <Root level="${LOG_LEVEL}">
+            <AppenderRef ref="CONSOLE_APPENDER"/>
+            <AppenderRef ref="FILE_APPENDER"/>
         </Root>
     </Loggers>