Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
matrix
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
CI / CD
CI / CD
Pipelines
Schedules
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
mall
arch
matrix
Commits
60eb3a87
Commit
60eb3a87
authored
May 10, 2019
by
qiuweili123
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
modify
parent
0751bdfd
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
194 additions
and
19 deletions
+194
-19
SpringUtil.java
common-util/src/main/java/com/secoo/mall/common/util/spring/SpringUtil.java
+37
-0
logback-spring-test.xml
common-util/src/main/resources/logback-spring-test.xml
+104
-0
logback-spring.xml
common-util/src/main/resources/logback-spring.xml
+42
-10
pom.xml
monitor-starter/pom.xml
+1
-1
pom.xml
mybatis-starter/pom.xml
+1
-1
pom.xml
openfeign-starter/pom.xml
+1
-1
pom.xml
redis-starter/pom.xml
+1
-1
pom.xml
rocketmq-starter/pom.xml
+1
-1
pom.xml
web-starter/pom.xml
+1
-1
SwaggerConfig.java
web-starter/src/main/java/com/secoo/mall/web/config/SwaggerConfig.java
+5
-3
No files found.
common-util/src/main/java/com/secoo/mall/common/util/spring/SpringUtil.java
View file @
60eb3a87
package
com
.
secoo
.
mall
.
common
.
util
.
spring
;
import
com.secoo.mall.common.core.exception.SystemInternalException
;
import
org.springframework.beans.BeansException
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContextAware
;
import
org.springframework.stereotype.Component
;
@Component
public
class
SpringUtil
implements
ApplicationContextAware
{
private
static
ApplicationContext
context
;
public
void
setApplicationContext
(
ApplicationContext
arg0
)
throws
BeansException
{
context
=
arg0
;
}
public
static
ApplicationContext
getApplicationContext
()
{
return
context
;
}
public
static
<
T
>
T
getBean
(
Class
<
T
>
clazz
)
{
if
(
clazz
==
null
)
{
throw
new
SystemInternalException
();
}
if
(
context
==
null
)
{
throw
new
SystemInternalException
();
}
T
result
=
getApplicationContext
().
getBean
(
clazz
);
if
(
result
==
null
)
{
throw
new
SystemInternalException
();
}
return
result
;
}
}
\ No newline at end of file
common-util/src/main/resources/logback-spring-test.xml
0 → 100644
View file @
60eb3a87
<?xml version="1.0" encoding="UTF-8"?>
<!-- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/2002/xmlspec/dtd/2.10/xmlspec.dtd"> -->
<configuration
scan=
"true"
scanPeriod=
"60 seconds"
debug=
"false"
>
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径 -->
<!-- <property name="LOG_HOME" value="./log" /> -->
<!--取得spring boot中的变量值有2种方式,一种是resource,另外一种是使用springProperty,使用springProperty好处能指定默认值-->
<!-- <property resource="application.properties"/>
-->
<springProperty
scope=
"context"
name=
"logLevel"
source=
"log.level"
defaultValue=
"info"
/>
<springProperty
scope=
"context"
name=
"logName"
source=
"spring.application.name"
defaultValue=
"app"
/>
<springProperty
scope=
"context"
name=
"logPath"
source=
"log.path"
defaultValue=
"./logs"
/>
<property
name=
"PATTERN"
value=
"- | %d{yyyy-MM-dd HH:mm:ss.SSS} | %-5level | %X{traceId} | %thread | %logger{36} | %msg%n"
/>
<property
name=
"CHARSET"
value=
"UTF-8"
/>
<jmxConfigurator/>
<!-- 控制台输出 -->
<appender
name=
"STDOUT"
class=
"ch.qos.logback.core.ConsoleAppender"
>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<!-- <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}|%msgno|%thread|%-5level|%logger{20}-%msg%n</pattern> -->
<pattern>
${PATTERN}
</pattern>
</encoder>
<filter
class=
"ch.qos.logback.classic.filter.ThresholdFilter"
>
<level>
DEBUG
</level>
</filter>
<immediateFlush>
false
</immediateFlush>
</appender>
<appender
name=
"ERROR"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<filter
class=
"ch.qos.logback.classic.filter.LevelFilter"
>
<level>
ERROR
</level>
<!-- 只记录error级别的日志 -->
<onMatch>
ACCEPT
</onMatch>
<onMismatch>
DENY
</onMismatch>
</filter>
<!-- 定义文件的名称 -->
<file>
${logPath}/${logName}/error.log
</file>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<!-- rollover daily -->
<!-- 设置达到指定大小限制后输出的日志名称 -->
<fileNamePattern>
${logPath}/${logName}/error-%d{yyyy-MM-dd}.log
</fileNamePattern>
<maxHistory>
30
</maxHistory>
</rollingPolicy>
<encoder>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<pattern>
${PATTERN}
</pattern>
<charset>
UTF-8
</charset>
</encoder>
<immediateFlush>
false
</immediateFlush>
</appender>
<appender
name=
"APP"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<!-- 定义文件的名称 -->
<file>
${logPath}/${logName}/app.log
</file>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<!-- rollover daily -->
<!-- 设置达到指定大小限制后输出的日志名称 -->
<fileNamePattern>
${logPath}/${logName}/app-%d{yyyy-MM-dd}.log
</fileNamePattern>
<maxHistory>
30
</maxHistory>
</rollingPolicy>
<encoder>
<pattern>
${PATTERN}
</pattern>
<charset>
UTF-8
</charset>
</encoder>
<immediateFlush>
false
</immediateFlush>
</appender>
<appender
name=
"ASYN_APP"
class=
"ch.qos.logback.classic.AsyncAppender"
>
<appender-ref
ref=
"APP"
/>
<queueSize>
1024
</queueSize>
<neverBlock>
true
</neverBlock>
</appender>
<appender
name=
"ASYN_ERROR"
class=
"ch.qos.logback.classic.AsyncAppender"
>
<appender-ref
ref=
"ERROR"
/>
<queueSize>
256
</queueSize>
<neverBlock>
true
</neverBlock>
</appender>
<appender
name=
"ASYN_STDOUT"
class=
"ch.qos.logback.classic.AsyncAppender"
>
<appender-ref
ref=
"STDOUT"
/>
<queueSize>
256
</queueSize>
<neverBlock>
true
</neverBlock>
</appender>
<logger
name=
"app"
level=
"${logLevel}"
>
<appender-ref
ref=
"ASYN_APP"
/>
</logger>
<logger
name=
"error"
level=
"${logLevel}"
>
<appender-ref
ref=
"ASYN_ERROR"
/>
</logger>
<!-- 业务日志输出-->
<logger
name=
"com.secoo.mall"
level=
"${logLevel}"
>
<appender-ref
ref=
"ASYN_APP"
/>
</logger>
<!--统一日志输出级别,其他appender中如果有高于此处等级设置的也会被输出 -->
<root
level=
"${logLevel}"
>
<appender-ref
ref=
"ASYN_STDOUT"
/>
<appender-ref
ref=
"ASYN_ERROR"
/>
</root>
</configuration>
\ No newline at end of file
common-util/src/main/resources/logback-spring.xml
View file @
60eb3a87
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<!-- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/2002/xmlspec/dtd/2.10/xmlspec.dtd"> -->
<!-- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/2002/xmlspec/dtd/2.10/xmlspec.dtd"> -->
<configuration
scan=
"true"
scanPeriod=
"60 seconds"
debug=
"false"
>
<configuration
scan=
"true"
scanPeriod=
"60 seconds"
debug=
"false"
>
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径 -->
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径 -->
...
@@ -10,10 +10,18 @@
...
@@ -10,10 +10,18 @@
<springProperty
scope=
"context"
name=
"logLevel"
source=
"log.level"
defaultValue=
"info"
/>
<springProperty
scope=
"context"
name=
"logLevel"
source=
"log.level"
defaultValue=
"info"
/>
<springProperty
scope=
"context"
name=
"logName"
source=
"spring.application.name"
defaultValue=
"app"
/>
<springProperty
scope=
"context"
name=
"logName"
source=
"spring.application.name"
defaultValue=
"app"
/>
<springProperty
scope=
"context"
name=
"logPath"
source=
"log
.path"
defaultValue=
".
/logs"
/>
<springProperty
scope=
"context"
name=
"logPath"
source=
"log
ging.path"
defaultValue=
"/data
/logs"
/>
<property
name=
"PATTERN"
value=
"- | %d{yyyy-MM-dd HH:mm:ss.SSS} | %-5level | %X{traceId} | %thread | %logger{36} | %msg%n"
/>
<springProfile
name=
"test,dev,local"
>
<springProperty
scope=
"context"
name=
"logPath"
source=
"logging.path"
defaultValue=
"./logs"
/>
</springProfile>
<!--
<property name="EMAIL_ADDRESS"
value="liyuqing@secoo.com,gaoxinxin@secoo.com,xueyuying@secoo.com,zhangjianbin@secoo.com,cuixiaoting@secoo.com,huazhifeng@secoo.com"/>
-->
<property
name=
"PATTERN"
value=
"-|%d{yyyy-MM-dd HH:mm:ss.SSS}|%-5level|%X{traceId}|%thread|%logger{36}|%msg%n"
/>
<property
name=
"CHARSET"
value=
"UTF-8"
/>
<property
name=
"CHARSET"
value=
"UTF-8"
/>
<jmxConfigurator/>
<jmxConfigurator/>
<!-- 控制台输出 -->
<!-- 控制台输出 -->
...
@@ -66,7 +74,25 @@
...
@@ -66,7 +74,25 @@
</encoder>
</encoder>
<immediateFlush>
false
</immediateFlush>
<immediateFlush>
false
</immediateFlush>
</appender>
</appender>
<!--
<appender name="EMAIL" class="ch.qos.logback.classic.net.SMTPAppender">
<smtpHost>smtp.exmail.qq.com</smtpHost>
<username>baojing@secoo.com</username>
<password>Wrux8cUhBhGTY3Z6</password>
<SSL>true</SSL>
<asynchronousSending>true</asynchronousSending>
<from>baojing@secoo.com</from>
<to>${EMAIL_ADDRESS}</to>
<subject>${logName}【生产环境】错误报警</subject>
<!–<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder"></encoder>–>
<layout class="ch.qos.logback.classic.html.HTMLLayout">
<pattern>${PATTERN}</pattern>
</layout>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
</appender>
-->
<appender
name=
"ASYN_APP"
class=
"ch.qos.logback.classic.AsyncAppender"
>
<appender
name=
"ASYN_APP"
class=
"ch.qos.logback.classic.AsyncAppender"
>
<appender-ref
ref=
"APP"
/>
<appender-ref
ref=
"APP"
/>
<queueSize>
1024
</queueSize>
<queueSize>
1024
</queueSize>
...
@@ -77,6 +103,11 @@
...
@@ -77,6 +103,11 @@
<queueSize>
256
</queueSize>
<queueSize>
256
</queueSize>
<neverBlock>
true
</neverBlock>
<neverBlock>
true
</neverBlock>
</appender>
</appender>
<!-- <appender name="ASYN_EMAIL" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="EMAIL"/>
<queueSize>256</queueSize>
<neverBlock>true</neverBlock>
</appender>-->
<appender
name=
"ASYN_STDOUT"
class=
"ch.qos.logback.classic.AsyncAppender"
>
<appender
name=
"ASYN_STDOUT"
class=
"ch.qos.logback.classic.AsyncAppender"
>
<appender-ref
ref=
"STDOUT"
/>
<appender-ref
ref=
"STDOUT"
/>
<queueSize>
256
</queueSize>
<queueSize>
256
</queueSize>
...
@@ -89,15 +120,15 @@
...
@@ -89,15 +120,15 @@
<logger
name=
"error"
level=
"${logLevel}"
>
<logger
name=
"error"
level=
"${logLevel}"
>
<appender-ref
ref=
"ASYN_ERROR"
/>
<appender-ref
ref=
"ASYN_ERROR"
/>
</logger>
</logger>
<!-- 业务日志输出-->
<logger
name=
"com.secoo.mall"
level=
"${logLevel}"
>
<appender-ref
ref=
"ASYN_APP"
/>
</logger>
<!--统一日志输出级别,其他appender中如果有高于此处等级设置的也会被输出 -->
<!--统一日志输出级别,其他appender中如果有高于此处等级设置的也会被输出 -->
<root
level=
"${logLevel}"
>
<root
level=
"${logLevel}"
>
<appender-ref
ref=
"ASYN_STDOUT"
/>
<!-- <appender-ref ref="ASYN_EMAIL"/>-->
<springProfile
name=
"test,dev,local"
>
<appender-ref
ref=
"ASYN_STDOUT"
/>
</springProfile>
<appender-ref
ref=
"ASYN_APP"
/>
<appender-ref
ref=
"ASYN_ERROR"
/>
<appender-ref
ref=
"ASYN_ERROR"
/>
</root>
</root>
</configuration>
</configuration>
\ No newline at end of file
monitor-starter/pom.xml
View file @
60eb3a87
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<parent>
<parent>
<artifactId>
mall-common
</artifactId>
<artifactId>
mall-common
</artifactId>
<groupId>
com.secoo.mall
</groupId>
<groupId>
com.secoo.mall
</groupId>
<version>
1.0.2.100
6
-DEV-SNAPSHOT
</version>
<version>
1.0.2.100
7
-DEV-SNAPSHOT
</version>
</parent>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<modelVersion>
4.0.0
</modelVersion>
...
...
mybatis-starter/pom.xml
View file @
60eb3a87
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<parent>
<parent>
<artifactId>
mall-common
</artifactId>
<artifactId>
mall-common
</artifactId>
<groupId>
com.secoo.mall
</groupId>
<groupId>
com.secoo.mall
</groupId>
<version>
1.0.2.100
6
-DEV-SNAPSHOT
</version>
<version>
1.0.2.100
7
-DEV-SNAPSHOT
</version>
</parent>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<modelVersion>
4.0.0
</modelVersion>
...
...
openfeign-starter/pom.xml
View file @
60eb3a87
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<parent>
<parent>
<artifactId>
mall-common
</artifactId>
<artifactId>
mall-common
</artifactId>
<groupId>
com.secoo.mall
</groupId>
<groupId>
com.secoo.mall
</groupId>
<version>
1.0.2.100
6
-DEV-SNAPSHOT
</version>
<version>
1.0.2.100
7
-DEV-SNAPSHOT
</version>
</parent>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<modelVersion>
4.0.0
</modelVersion>
...
...
redis-starter/pom.xml
View file @
60eb3a87
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<parent>
<parent>
<artifactId>
mall-common
</artifactId>
<artifactId>
mall-common
</artifactId>
<groupId>
com.secoo.mall
</groupId>
<groupId>
com.secoo.mall
</groupId>
<version>
1.0.2.100
6
-DEV-SNAPSHOT
</version>
<version>
1.0.2.100
7
-DEV-SNAPSHOT
</version>
</parent>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<modelVersion>
4.0.0
</modelVersion>
...
...
rocketmq-starter/pom.xml
View file @
60eb3a87
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<parent>
<parent>
<artifactId>
mall-common
</artifactId>
<artifactId>
mall-common
</artifactId>
<groupId>
com.secoo.mall
</groupId>
<groupId>
com.secoo.mall
</groupId>
<version>
1.0.2.100
6
-DEV-SNAPSHOT
</version>
<version>
1.0.2.100
7
-DEV-SNAPSHOT
</version>
</parent>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<modelVersion>
4.0.0
</modelVersion>
...
...
web-starter/pom.xml
View file @
60eb3a87
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<parent>
<parent>
<artifactId>
mall-common
</artifactId>
<artifactId>
mall-common
</artifactId>
<groupId>
com.secoo.mall
</groupId>
<groupId>
com.secoo.mall
</groupId>
<version>
1.0.2.100
6
-DEV-SNAPSHOT
</version>
<version>
1.0.2.100
7
-DEV-SNAPSHOT
</version>
</parent>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<modelVersion>
4.0.0
</modelVersion>
...
...
web-starter/src/main/java/com/secoo/mall/web/config/SwaggerConfig.java
View file @
60eb3a87
package
com
.
secoo
.
mall
.
web
.
config
;
package
com
.
secoo
.
mall
.
web
.
config
;
import
com.github.xiaoymin.swaggerbootstrapui.annotations.EnableSwaggerBootstrapUI
;
import
com.github.xiaoymin.swaggerbootstrapui.annotations.EnableSwaggerBootstrapUI
;
import
com.secoo.mall.common.constant.CommonConstant
;
import
com.secoo.mall.web.annotation.ApiController
;
import
com.secoo.mall.web.annotation.ApiController
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Profile
;
import
org.springframework.context.annotation.Profile
;
...
@@ -17,7 +19,7 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
...
@@ -17,7 +19,7 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@Configuration
@EnableSwagger2
@EnableSwagger2
@EnableSwaggerBootstrapUI
@EnableSwaggerBootstrapUI
@
Profile
({
"dev"
,
"local"
,
"test"
}
)
@
ConditionalOnProperty
(
name
=
"swagger.enable"
,
havingValue
=
"true"
)
public
class
SwaggerConfig
{
public
class
SwaggerConfig
{
@Value
(
"${spring.application.name}"
)
@Value
(
"${spring.application.name}"
)
...
@@ -27,12 +29,12 @@ public class SwaggerConfig {
...
@@ -27,12 +29,12 @@ public class SwaggerConfig {
@Bean
@Bean
public
Docket
createRestApi
()
{
public
Docket
createRestApi
()
{
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
apiInfo
(
apiInfo
())
.
apiInfo
(
apiInfo
())
.
groupName
(
"SecooMall"
)
.
groupName
(
"SecooMall"
)
.
select
()
.
select
()
.
apis
(
RequestHandlerSelectors
.
withClassAnnotation
(
ApiController
.
class
))
.
apis
(
RequestHandlerSelectors
.
withClassAnnotation
(
ApiController
.
class
))
.
paths
(
PathSelectors
.
any
())
.
paths
(
PathSelectors
.
any
())
.
build
();
.
build
();
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment