deason 2 年 前
コミット
fbd8d0a9dd

+ 1 - 1
shell/start.sh

@@ -1,6 +1,6 @@
 #!/bin/bash
 
 cd ~/project/oe/examcloud-oe-tool
-nohup java -server -Xms3g -Xmx3g -jar lib/examcloud-oe-tool-v4.1.3-RELEASE.jar &
+nohup java -server -Xms3g -Xmx3g -jar lib/examcloud-oe-tool-v4.1.3-RELEASE.jar >/dev/null 2>&1 &
 
 echo "start..."

+ 8 - 0
shell/stop.sh

@@ -0,0 +1,8 @@
+#!/bin/bash
+
+PROJECT_JAR="examcloud-oe-tool-v4.1.3-RELEASE.jar"
+
+ps -ef | grep $PROJECT_JAR | grep java | awk '{printf("kill -15 %s\n",$2)}' | sh
+BUILD_ID=DONTKILLME
+
+echo "$PROJECT_JAR stop..."

+ 4 - 3
src/main/java/cn/com/qmth/dp/examcloud/oe/Task.java

@@ -1,5 +1,6 @@
 package cn.com.qmth.dp.examcloud.oe;
 
+import cn.com.qmth.dp.examcloud.oe.modules.cut_exam_offline_data.CutExamOfflineDataService;
 import cn.com.qmth.dp.examcloud.oe.modules.exam_record_data.ExamRecordDataTool;
 import cn.com.qmth.dp.examcloud.oe.modules.export_exam_student_score.ExportExamStudentScore;
 import cn.com.qmth.dp.examcloud.oe.modules.fixExamStudentId.FixExamStudentId;
@@ -9,8 +10,6 @@ import cn.com.qmth.dp.examcloud.oe.modules.import_paper_dzkd.ImportPaperDzkdServ
 import cn.com.qmth.dp.examcloud.oe.modules.init_user_data_rule.InitUserDataRule;
 import cn.com.qmth.dp.examcloud.oe.modules.marking_item_change.MarkingItemChangeService;
 import cn.com.qmth.dp.examcloud.oe.modules.update_correct_answer.FixCorrectAnswerAndResetScoreService;
-import cn.com.qmth.examcloud.commons.logging.ExamCloudLog;
-import cn.com.qmth.examcloud.commons.logging.ExamCloudLogFactory;
 import cn.com.qmth.examcloud.commons.util.JsonUtil;
 import cn.com.qmth.examcloud.web.support.SpringContextHolder;
 import cn.com.qmth.examcloud.web.upyun.UpYunPathInfo;
@@ -21,6 +20,8 @@ import com.mongodb.client.MongoCollection;
 import com.mongodb.client.MongoCursor;
 import org.apache.commons.lang3.RandomUtils;
 import org.bson.Document;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.data.mongodb.core.MongoTemplate;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Component;
@@ -39,7 +40,7 @@ import java.util.Map;
 @Component
 public class Task {
 
-    private static ExamCloudLog log = ExamCloudLogFactory.getLog(Task.class);
+    private static final Logger log = LoggerFactory.getLogger(Task.class);
 
     /**
      * 方法注释

+ 6 - 4
src/main/java/cn/com/qmth/dp/examcloud/oe/modules/cut_exam_offline_data/CutExamOfflineDataService.java

@@ -1,8 +1,7 @@
 package cn.com.qmth.dp.examcloud.oe.modules.cut_exam_offline_data;
 
-import cn.com.qmth.examcloud.commons.logging.ExamCloudLog;
-import cn.com.qmth.examcloud.commons.logging.ExamCloudLogFactory;
-import org.apache.poi.ss.formula.functions.Count;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.scheduling.annotation.Async;
@@ -25,13 +24,16 @@ import java.util.concurrent.atomic.AtomicInteger;
  */
 @Service
 public class CutExamOfflineDataService {
-    private static ExamCloudLog log = ExamCloudLogFactory.getLog(CutExamOfflineDataService.class);
+    private static final Logger log = LoggerFactory.getLogger(CutExamOfflineDataService.class);
 
     @Autowired
     JdbcTemplate jdbcTemplate;
+
     BlockingQueue workQueue = new ArrayBlockingQueue(1000);
+
     //批次数量
     static Integer BATCH_NUMBER = 500;
+
     CountDownLatch countDownLatch;
 
     @Async

+ 5 - 6
src/main/java/cn/com/qmth/dp/examcloud/oe/modules/export_data/ExportData.java

@@ -7,23 +7,22 @@ import java.sql.ResultSetMetaData;
 import java.sql.SQLException;
 import java.util.Map;
 
+import cn.com.qmth.dp.examcloud.oe.modules.export_exam_student_score.ExportExamStudentScore;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Component;
 
 import com.google.common.collect.Maps;
 
-import cn.com.qmth.examcloud.commons.logging.ExamCloudLog;
-import cn.com.qmth.examcloud.commons.logging.ExamCloudLogFactory;
 import cn.com.qmth.examcloud.commons.util.JsonUtil;
 import cn.com.qmth.examcloud.commons.util.ResourceLoader;
 
 @Component
 public class ExportData {
 
-	private static ExamCloudLog log = ExamCloudLogFactory.getLog(ExportData.class);
-
-	private static ExamCloudLog resultlog = ExamCloudLogFactory.getLog("RESULT_LOGGER");
+	private static final Logger log = LoggerFactory.getLogger(ExportData.class);
 
 	@Autowired
 	JdbcTemplate jdbcTemplate;
@@ -52,7 +51,7 @@ public class ExportData {
 
 				count++;
 				log.info("[ExportData]. count=" + count);
-				resultlog.info(JsonUtil.toJson(map));
+				log.info(JsonUtil.toJson(map));
 
 			}
 		} catch (SQLException e) {

+ 4 - 3
src/main/java/cn/com/qmth/dp/examcloud/oe/modules/import_data/ImportData.java

@@ -9,17 +9,18 @@ import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
 
+import cn.com.qmth.dp.examcloud.oe.modules.export_data.ExportData;
 import cn.com.qmth.dp.examcloud.oe.util.DBUtil;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
 
 import com.google.gson.JsonObject;
 import com.google.gson.JsonParser;
 
 import cn.com.qmth.examcloud.commons.helpers.Counter;
-import cn.com.qmth.examcloud.commons.logging.ExamCloudLog;
-import cn.com.qmth.examcloud.commons.logging.ExamCloudLogFactory;
 import cn.com.qmth.examcloud.commons.util.DateUtil;
 import cn.com.qmth.examcloud.commons.util.DateUtil.DatePatterns;
 import cn.com.qmth.examcloud.commons.util.PathUtil;
@@ -29,7 +30,7 @@ import cn.com.qmth.examcloud.commons.util.Util;
 @Component
 public class ImportData {
 
-	private static ExamCloudLog log = ExamCloudLogFactory.getLog(ImportData.class);
+	private static final Logger log = LoggerFactory.getLogger(ImportData.class);
 
 	public void start(String dirPath) {
 

+ 3 - 6
src/main/java/cn/com/qmth/dp/examcloud/oe/util/DBUtil.java

@@ -1,9 +1,9 @@
 package cn.com.qmth.dp.examcloud.oe.util;
 
 import cn.com.qmth.examcloud.commons.exception.ExamCloudRuntimeException;
-import cn.com.qmth.examcloud.commons.logging.ExamCloudLog;
-import cn.com.qmth.examcloud.commons.logging.ExamCloudLogFactory;
 import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.sql.DataSource;
 import java.sql.Connection;
@@ -20,10 +20,7 @@ import java.util.concurrent.ConcurrentHashMap;
  */
 public class DBUtil {
 
-    /**
-     * 属性注释
-     */
-    private static final ExamCloudLog LOG = ExamCloudLogFactory.getLog(DBUtil.class);
+    private static final Logger LOG = LoggerFactory.getLogger(DBUtil.class);
 
     /**
      * 属性注释

+ 3 - 3
src/main/java/cn/com/qmth/dp/examcloud/oe/util/PropertiesUtil.java

@@ -1,12 +1,12 @@
 package cn.com.qmth.dp.examcloud.oe.util;
 
 import cn.com.qmth.examcloud.commons.exception.ExamCloudRuntimeException;
-import cn.com.qmth.examcloud.commons.logging.ExamCloudLog;
-import cn.com.qmth.examcloud.commons.logging.ExamCloudLogFactory;
 import cn.com.qmth.examcloud.commons.util.PathUtil;
 import com.google.common.collect.Sets;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.*;
 import java.util.Map.Entry;
@@ -22,7 +22,7 @@ import java.util.Set;
  */
 public class PropertiesUtil {
 
-    private static final ExamCloudLog LOG = ExamCloudLogFactory.getLog(PropertiesUtil.class);
+    private static final Logger LOG = LoggerFactory.getLogger(PropertiesUtil.class);
 
     private static final Properties PROPS = new Properties();
 

+ 66 - 54
src/main/resources/log4j2.xml

@@ -1,57 +1,69 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Configuration status="WARN" monitorInterval="30">
 
-	<Properties>
-		<Property name="commonLevel" value="${sys:log.commonLevel}" />
-		<Property name="logDir" value="${sys:logDir}" />
-	</Properties>
-
-	<Appenders>
-		<Console name="Console" target="SYSTEM_OUT">
-			<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} | %clr{%level} | %clr{%c{1.1}:%L}{cyan} | %X{TRACE_ID} %m%n" />
-		</Console>
-		<!-- debug 日志 -->
-		<RollingFile name="DEBUG_APPENDER" fileName="./logs/debug/debug.log" filePattern="./logs/debug/debug-%d{yyyy.MM.dd.HH}-%i.log">
-			<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} | %clr{%level} | %clr{%c{1.1}:%L}{cyan} | %X{TRACE_ID} %m%n" />
-			<Policies>
-				<TimeBasedTriggeringPolicy interval="1" />
-				<SizeBasedTriggeringPolicy size="100 MB" />
-			</Policies>
-			<DefaultRolloverStrategy max="10000">
-				<Delete basePath="./logs/debug" maxDepth="1">
-					<IfFileName glob="debug-*.log">
-						<IfAccumulatedFileSize exceeds="2 GB" />
-					</IfFileName>
-				</Delete>
-			</DefaultRolloverStrategy>
-		</RollingFile>
-		<!-- result -->
-		<RollingFile name="RESULT_APPENDER" filePattern="./logs/result/result-%i.txt">
-			<PatternLayout pattern="%m%n" />
-			<Policies>
-				<SizeBasedTriggeringPolicy size="512 MB" />
-			</Policies>
-		</RollingFile>
-	</Appenders>
-
-	<Loggers>
-
-		<Logger name="cn.com.qmth" level="INFO" additivity="false">
-			<AppenderRef ref="DEBUG_APPENDER" />
-			<AppenderRef ref="Console" />
-		</Logger>
-
-		<Logger name="RESULT_LOGGER" level="DEBUG" additivity="false">
-			<AppenderRef ref="RESULT_APPENDER" />
-		</Logger>
-
-		<Logger name="org.quartz.core" level="ERROR" />
-
-		<Root level="ERROR">
-			<AppenderRef ref="Console" />
-			<AppenderRef ref="DEBUG_APPENDER" />
-		</Root>
-
-	</Loggers>
-
-</Configuration>
+    <Properties>
+        <Property name="LOG_LEVEL" value="${sys:log.commonLevel}"/>
+        <Property name="LOG_DIR" value="../logs"/>
+        <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_APPENDER" target="SYSTEM_OUT">
+            <PatternLayout pattern="${LOG_PATTERN}" charset="UTF-8"/>
+        </Console>
+
+        <RollingFile name="FILE_APPENDER"
+                     fileName="${LOG_DIR}/debug.log"
+                     filePattern="${LOG_DIR}/debug-%d{yyyyMMdd}-%i.log">
+            <PatternLayout pattern="${LOG_PATTERN}" charset="UTF-8"/>
+
+            <Policies>
+                <TimeBasedTriggeringPolicy interval="1" modulate="false"/>
+                <SizeBasedTriggeringPolicy size="100 MB"/>
+            </Policies>
+
+            <DefaultRolloverStrategy max="1000">
+                <Delete basePath="${LOG_DIR}" maxDepth="1">
+                    <IfFileName glob="debug-*.log">
+                        <IfAccumulatedFileSize exceeds="10 GB"/>
+                    </IfFileName>
+                </Delete>
+            </DefaultRolloverStrategy>
+        </RollingFile>
+    </Appenders>
+
+    <Loggers>
+        <logger name="springfox.documentation" level="WARN"/>
+        <logger name="org.mongodb.driver" level="WARN"/>
+        <logger name="org.springframework" level="WARN"/>
+        <logger name="org.hibernate" level="WARN"/>
+        <logger name="org.apache" level="WARN"/>
+        <logger name="org.quartz" level="WARN"/>
+        <logger name="org.docx4j" level="WARN"/>
+        <logger name="cn.afterturn" level="WARN"/>
+        <logger name="com.netflix" level="WARN"/>
+        <logger name="com.aliyun" level="WARN"/>
+        <logger name="io.lettuce" level="WARN"/>
+        <logger name="io.netty" level="WARN"/>
+
+        <!--<Logger name="org.hibernate.SQL" level="DEBUG"/>-->
+        <!--<Logger name="org.hibernate.engine.transaction" level="DEBUG"/>-->
+        <!--<Logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE"/>-->
+        <!--<logger name="org.springframework.jdbc.core.JdbcTemplate" level="DEBUG"/>-->
+        <!--<logger name="org.springframework.data.mongodb" level="DEBUG"/>-->
+        <!--<logger name="org.springframework.data.redis" level="DEBUG"/>-->
+
+        <Logger name="cn.com.qmth" level="${LOG_LEVEL}" additivity="false">
+            <AppenderRef ref="CONSOLE_APPENDER"/>
+            <AppenderRef ref="FILE_APPENDER"/>
+        </Logger>
+
+        <Root level="${LOG_LEVEL}">
+            <AppenderRef ref="CONSOLE_APPENDER"/>
+            <AppenderRef ref="FILE_APPENDER"/>
+        </Root>
+    </Loggers>
+
+</Configuration>