wangwei 7 rokov pred
rodič
commit
81cb332415

+ 35 - 36
exam-work-domain/pom.xml

@@ -1,37 +1,36 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <artifactId>exam-work</artifactId>
-        <groupId>cn.com.qmth.examcloud.service</groupId>
-        <version>0.1.0</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>exam-work-domain</artifactId>
-
-    <dependencies>
-        <dependency>
-            <groupId>mysql</groupId>
-            <artifactId>mysql-connector-java</artifactId>
-            <version>${mysql.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-data-jpa</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.hibernate</groupId>
-            <artifactId>hibernate-validator</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>cn.com.qmth.examcloud.common</groupId>
-            <artifactId>common-util</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<parent>
+		<artifactId>exam-work</artifactId>
+		<groupId>cn.com.qmth.examcloud.service</groupId>
+		<version>0.1.0</version>
+	</parent>
+	<modelVersion>4.0.0</modelVersion>
+
+	<artifactId>exam-work-domain</artifactId>
+
+	<dependencies>
+		<dependency>
+			<groupId>mysql</groupId>
+			<artifactId>mysql-connector-java</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-data-jpa</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.hibernate</groupId>
+			<artifactId>hibernate-validator</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>cn.com.qmth.examcloud.common</groupId>
+			<artifactId>common-support</artifactId>
+			<version>${project.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>cn.com.qmth.examcloud.common</groupId>
+			<artifactId>common-util</artifactId>
+			<version>${project.version}</version>
+		</dependency>
+	</dependencies>
 </project>

+ 54 - 42
exam-work-main/src/main/java/cn/com/qmth/examcloud/service/examwork/Application.java

@@ -1,42 +1,54 @@
-package cn.com.qmth.examcloud.service.examwork;
-
-import com.qmth.commons.query.dao.impl.BaseQueryDaoImpl;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.domain.EntityScan;
-import org.springframework.boot.autoconfigure.web.MultipartAutoConfiguration;
-import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
-import org.springframework.cloud.netflix.feign.EnableFeignClients;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
-import org.springframework.web.multipart.MultipartResolver;
-import org.springframework.web.multipart.commons.CommonsMultipartResolver;
-
-@ComponentScan(basePackages = {"com.qmth.commons","cn.com.qmth"})
-@EntityScan(basePackages = {"com.qmth.commons","cn.com.qmth"})
-@EnableJpaRepositories(basePackages = {"com.qmth.commons","cn.com.qmth"},repositoryBaseClass = BaseQueryDaoImpl.class)
-@SpringBootApplication
-@EnableEurekaClient
-@EnableFeignClients
-@EnableAutoConfiguration(exclude = {MultipartAutoConfiguration.class})
-public class Application {
-
-	public static void main(String[] args) throws Exception {
-		SpringApplication.run(Application.class, args);
-	}
-
-	// 显示声明CommonsMultipartResolver为mutipartResolver
-	@Bean(name = "multipartResolver")
-	public MultipartResolver multipartResolver() {
-		CommonsMultipartResolver resolver = new CommonsMultipartResolver();
-		resolver.setDefaultEncoding("UTF-8");
-		resolver.setResolveLazily(true);// resolveLazily属性启用是为了推迟文件解析,以在在UploadAction中捕获文件大小异常
-		resolver.setMaxInMemorySize(40960);
-		resolver.setMaxUploadSize(200 * 1024 * 1024);// 上传文件大小 200M 50*1024*1024
-		return resolver;
-	}
-}
-
-
+package cn.com.qmth.examcloud.service.examwork;
+
+import com.qmth.commons.query.dao.impl.BaseQueryDaoImpl;
+
+import cn.com.qmth.examcloud.common.support.logging.ExamCloudLog;
+import cn.com.qmth.examcloud.common.support.logging.ExamCloudLogFactory;
+import cn.com.qmth.examcloud.common.support.logging.SLF4JImpl;
+
+import org.slf4j.MDC;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.domain.EntityScan;
+import org.springframework.boot.autoconfigure.web.MultipartAutoConfiguration;
+import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
+import org.springframework.cloud.netflix.feign.EnableFeignClients;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
+import org.springframework.web.multipart.MultipartResolver;
+import org.springframework.web.multipart.commons.CommonsMultipartResolver;
+
+@ComponentScan(basePackages = {"com.qmth.commons","cn.com.qmth"})
+@EntityScan(basePackages = {"com.qmth.commons","cn.com.qmth"})
+@EnableJpaRepositories(basePackages = {"com.qmth.commons","cn.com.qmth"},repositoryBaseClass = BaseQueryDaoImpl.class)
+@SpringBootApplication
+@EnableEurekaClient
+@EnableFeignClients
+@EnableAutoConfiguration(exclude = {MultipartAutoConfiguration.class})
+public class Application {
+	
+	private static final ExamCloudLog LOG = ExamCloudLogFactory.getLog(Application.class);
+
+	public static void main(String[] args) throws Exception {
+		if (LOG instanceof SLF4JImpl) {
+			// 设置主线程埋点跟踪链
+			MDC.put("TRACE_ID", Thread.currentThread().getName());
+		}
+		SpringApplication.run(Application.class, args);
+	}
+
+	// 显示声明CommonsMultipartResolver为mutipartResolver
+	@Bean(name = "multipartResolver")
+	public MultipartResolver multipartResolver() {
+		CommonsMultipartResolver resolver = new CommonsMultipartResolver();
+		resolver.setDefaultEncoding("UTF-8");
+		resolver.setResolveLazily(true);// resolveLazily属性启用是为了推迟文件解析,以在在UploadAction中捕获文件大小异常
+		resolver.setMaxInMemorySize(40960);
+		resolver.setMaxUploadSize(200 * 1024 * 1024);// 上传文件大小 200M 50*1024*1024
+		return resolver;
+	}
+}
+
+

+ 38 - 0
exam-work-main/src/main/resources/logback-spring.xml

@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration debug="true" scan="true" scanPeriod="30 seconds">
+
+	<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+		<encoder>
+			<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}| %level | %X{TRACE_ID} - %X{LOGIN_NAME} | %m | [%class:%line]%n</pattern>
+		</encoder>
+	</appender>
+
+	<appender name="FILE-STDOUT" class="ch.qos.logback.core.rolling.RollingFileAppender">
+		<file>./logs/console/console.log</file>
+		<encoder>
+			<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}| %level | %X{TRACE_ID} - %X{LOGIN_NAME} | %m | [%class:%line]%n</pattern>
+		</encoder>
+		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+			<fileNamePattern>./logs/console/console.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
+			<maxHistory>30</maxHistory>
+		</rollingPolicy>
+	</appender>
+
+	<logger name="cn.com.qmth.examcloud" level="DEBUG" additivity="false">
+		<appender-ref ref="STDOUT" />
+		<appender-ref ref="FILE-STDOUT" />
+	</logger>
+
+	<logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE" />
+	<logger name="org.hibernate.type.descriptor.sql.BasicExtractor" level="DEBUG" />
+	<logger name="org.hibernate.SQL" level="ERROR" />
+	<logger name="org.hibernate.type" level="ERROR" />
+	<logger name="org.hibernate.engine.QueryParameters" level="DEBUG" />
+	<logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" />
+
+	<root level="INFO">
+		<appender-ref ref="STDOUT" />
+		<appender-ref ref="FILE-STDOUT" />
+	</root>
+
+</configuration>