Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
bank-server-gateway
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
bank
bank-server-gateway
Commits
e0bb0b57
Commit
e0bb0b57
authored
May 13, 2020
by
李成龙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
V1.2版本,增加数据权限
parents
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
837 additions
and
0 deletions
+837
-0
pom.xml
pom.xml
+95
-0
GatewayApplication.java
src/main/java/com/yeejoin/amos/GatewayApplication.java
+19
-0
Cors.java
...ain/java/com/yeejoin/amos/server/gateway/config/Cors.java
+56
-0
CorsResponseHeaderFilter.java
.../amos/server/gateway/config/CorsResponseHeaderFilter.java
+40
-0
CustomeGatewayFilter.java
...join/amos/server/gateway/config/CustomeGatewayFilter.java
+14
-0
GatewayInfo.java
...a/com/yeejoin/amos/server/gateway/config/GatewayInfo.java
+163
-0
GatewayFilterDefinition.java
...os/server/gateway/face/model/GatewayFilterDefinition.java
+33
-0
GatewayPredicateDefinition.java
...server/gateway/face/model/GatewayPredicateDefinition.java
+34
-0
GatewayRouteDefinition.java
...mos/server/gateway/face/model/GatewayRouteDefinition.java
+64
-0
DefaultHystrixController.java
...server/gateway/face/service/DefaultHystrixController.java
+24
-0
DynamicRouteServiceImpl.java
.../server/gateway/face/service/DynamicRouteServiceImpl.java
+61
-0
RateLimiterConfig.java
...n/amos/server/gateway/face/service/RateLimiterConfig.java
+21
-0
application-dev.properties
src/main/resources/application-dev.properties
+28
-0
application-docker.properties
src/main/resources/application-docker.properties
+18
-0
application-qa.properties
src/main/resources/application-qa.properties
+14
-0
application.properties
src/main/resources/application.properties
+10
-0
logback-dev.xml
src/main/resources/logback-dev.xml
+48
-0
logback-docker.xml
src/main/resources/logback-docker.xml
+49
-0
logback-qa.xml
src/main/resources/logback-qa.xml
+46
-0
No files found.
pom.xml
0 → 100644
View file @
e0bb0b57
<?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"
>
<modelVersion>
4.0.0
</modelVersion>
<parent>
<groupId>
com.yeejoin
</groupId>
<artifactId>
amos
</artifactId>
<version>
1.1.0-SNAPSHOT
</version>
</parent>
<artifactId>
bank-server-gateway
</artifactId>
<packaging>
jar
</packaging>
<name>
bank-server-gateway
</name>
<description>
bank-server-gateway
</description>
<dependencies>
<!--Eureka 注册中心客户端依赖-->
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-netflix-eureka-client
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-gateway
</artifactId>
</dependency>
<!--actuator 依赖(健康检查、审计、统计和监控)-->
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-actuator
</artifactId>
</dependency>
<!-- zipkin依赖jar-->
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-zipkin
</artifactId>
</dependency>
<!-- <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>-->
<!--<!– 熔断、降级 –>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
<!– 限流 –>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis-reactive</artifactId>
</dependency>-->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
</plugin>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-deploy-plugin
</artifactId>
<version>
2.8.2
</version>
<configuration>
<skip>
true
</skip>
</configuration>
</plugin>
</plugins>
</build>
</project>
src/main/java/com/yeejoin/amos/GatewayApplication.java
0 → 100644
View file @
e0bb0b57
package
com
.
yeejoin
.
amos
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.cloud.netflix.eureka.EnableEurekaClient
;
import
org.springframework.context.annotation.ComponentScan
;
/**
* Created by magintursh on 2017-05-03.
*/
@ComponentScan
({
"org.typroject"
,
"com.yeejoin.amos"
})
@EnableEurekaClient
@SpringBootApplication
public
class
GatewayApplication
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
GatewayApplication
.
class
,
args
);
}
}
\ No newline at end of file
src/main/java/com/yeejoin/amos/server/gateway/config/Cors.java
0 → 100644
View file @
e0bb0b57
package
com
.
yeejoin
.
amos
.
server
.
gateway
.
config
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.HttpMethod
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.server.reactive.ServerHttpRequest
;
import
org.springframework.http.server.reactive.ServerHttpResponse
;
import
org.springframework.web.cors.reactive.CorsUtils
;
import
org.springframework.web.server.ServerWebExchange
;
import
org.springframework.web.server.WebFilter
;
import
org.springframework.web.server.WebFilterChain
;
import
reactor.core.publisher.Mono
;
import
static
org
.
springframework
.
web
.
cors
.
CorsConfiguration
.
ALL
;
@Configuration
public
class
Cors
{
private
static
final
String
MAX_AGE
=
"18000L"
;
@Bean
public
CorsResponseHeaderFilter
corsResponseHeaderFilter
()
{
return
new
CorsResponseHeaderFilter
();
}
@Bean
public
WebFilter
corsFilter
()
{
return
(
ServerWebExchange
ctx
,
WebFilterChain
chain
)
->
{
ServerHttpRequest
request
=
ctx
.
getRequest
();
if
(!
CorsUtils
.
isCorsRequest
(
request
))
{
return
chain
.
filter
(
ctx
);
}
HttpHeaders
requestHeaders
=
request
.
getHeaders
();
ServerHttpResponse
response
=
ctx
.
getResponse
();
HttpMethod
requestMethod
=
requestHeaders
.
getAccessControlRequestMethod
();
HttpHeaders
headers
=
response
.
getHeaders
();
headers
.
add
(
HttpHeaders
.
ACCESS_CONTROL_ALLOW_ORIGIN
,
"*"
);
headers
.
addAll
(
HttpHeaders
.
ACCESS_CONTROL_ALLOW_HEADERS
,
requestHeaders
.
getAccessControlRequestHeaders
());
if
(
requestMethod
!=
null
)
{
headers
.
add
(
HttpHeaders
.
ACCESS_CONTROL_ALLOW_METHODS
,
requestMethod
.
name
());
}
headers
.
add
(
HttpHeaders
.
ACCESS_CONTROL_ALLOW_CREDENTIALS
,
"true"
);
headers
.
add
(
HttpHeaders
.
ACCESS_CONTROL_EXPOSE_HEADERS
,
ALL
);
headers
.
add
(
HttpHeaders
.
ACCESS_CONTROL_MAX_AGE
,
MAX_AGE
);
if
(
request
.
getMethod
()
==
HttpMethod
.
OPTIONS
)
{
response
.
setStatusCode
(
HttpStatus
.
OK
);
return
Mono
.
empty
();
}
return
chain
.
filter
(
ctx
);
};
}
}
src/main/java/com/yeejoin/amos/server/gateway/config/CorsResponseHeaderFilter.java
0 → 100644
View file @
e0bb0b57
package
com
.
yeejoin
.
amos
.
server
.
gateway
.
config
;
import
java.util.ArrayList
;
import
org.springframework.cloud.gateway.filter.GatewayFilterChain
;
import
org.springframework.cloud.gateway.filter.GlobalFilter
;
import
org.springframework.cloud.gateway.filter.NettyWriteResponseFilter
;
import
org.springframework.core.Ordered
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.web.server.ServerWebExchange
;
import
reactor.core.publisher.Mono
;
public
class
CorsResponseHeaderFilter
implements
GlobalFilter
,
Ordered
{
@Override
public
int
getOrder
()
{
// 指定此过滤器位于NettyWriteResponseFilter之后
// 即待处理完响应体后接着处理响应头
return
NettyWriteResponseFilter
.
WRITE_RESPONSE_FILTER_ORDER
+
1
;
}
@Override
@SuppressWarnings
(
"serial"
)
public
Mono
<
Void
>
filter
(
ServerWebExchange
exchange
,
GatewayFilterChain
chain
)
{
//过滤相同的ACCESS_CONTROL_ALLOW_ORIGIN 和 ACCESS_CONTROL_ALLOW_CREDENTIALS
return
chain
.
filter
(
exchange
).
then
(
Mono
.
defer
(()
->
{
exchange
.
getResponse
().
getHeaders
().
entrySet
().
stream
()
.
filter
(
kv
->
(
kv
.
getValue
()
!=
null
&&
kv
.
getValue
().
size
()
>
1
))
.
filter
(
kv
->
(
kv
.
getKey
().
equals
(
HttpHeaders
.
ACCESS_CONTROL_ALLOW_ORIGIN
)
||
kv
.
getKey
().
equals
(
HttpHeaders
.
ACCESS_CONTROL_ALLOW_CREDENTIALS
)))
.
forEach
(
kv
->
{
kv
.
setValue
(
new
ArrayList
<
String
>()
{{
add
(
kv
.
getValue
().
get
(
0
));}});
});
return
chain
.
filter
(
exchange
);
}));
}
}
src/main/java/com/yeejoin/amos/server/gateway/config/CustomeGatewayFilter.java
0 → 100644
View file @
e0bb0b57
package
com
.
yeejoin
.
amos
.
server
.
gateway
.
config
;
import
org.springframework.cloud.gateway.filter.GatewayFilter
;
import
org.springframework.cloud.gateway.filter.GatewayFilterChain
;
import
org.springframework.web.server.ServerWebExchange
;
import
reactor.core.publisher.Mono
;
public
class
CustomeGatewayFilter
implements
GatewayFilter
{
@Override
public
Mono
<
Void
>
filter
(
ServerWebExchange
exchange
,
GatewayFilterChain
chain
)
{
return
null
;
}
}
src/main/java/com/yeejoin/amos/server/gateway/config/GatewayInfo.java
0 → 100644
View file @
e0bb0b57
This diff is collapsed.
Click to expand it.
src/main/java/com/yeejoin/amos/server/gateway/face/model/GatewayFilterDefinition.java
0 → 100644
View file @
e0bb0b57
package
com
.
yeejoin
.
amos
.
server
.
gateway
.
face
.
model
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
/**
* 过滤器模型
* zhuyu 2019-01-17
*/
public
class
GatewayFilterDefinition
{
//Filter Name
private
String
name
;
//对应的路由规则
private
Map
<
String
,
String
>
args
=
new
LinkedHashMap
<>();
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
Map
<
String
,
String
>
getArgs
()
{
return
args
;
}
public
void
setArgs
(
Map
<
String
,
String
>
args
)
{
this
.
args
=
args
;
}
}
src/main/java/com/yeejoin/amos/server/gateway/face/model/GatewayPredicateDefinition.java
0 → 100644
View file @
e0bb0b57
package
com
.
yeejoin
.
amos
.
server
.
gateway
.
face
.
model
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
/**
* 路由断言模型
* zhuyu 2019-01-17
*/
public
class
GatewayPredicateDefinition
{
//断言对应的Name
private
String
name
;
//配置的断言规则
private
Map
<
String
,
String
>
args
=
new
LinkedHashMap
<>();
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
Map
<
String
,
String
>
getArgs
()
{
return
args
;
}
public
void
setArgs
(
Map
<
String
,
String
>
args
)
{
this
.
args
=
args
;
}
}
src/main/java/com/yeejoin/amos/server/gateway/face/model/GatewayRouteDefinition.java
0 → 100644
View file @
e0bb0b57
package
com
.
yeejoin
.
amos
.
server
.
gateway
.
face
.
model
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 路由模型
* zhuyu 2019-01-17
*/
public
class
GatewayRouteDefinition
{
//路由的Id
private
String
id
;
//路由断言集合配置
private
List
<
GatewayPredicateDefinition
>
predicates
=
new
ArrayList
<>();
//路由过滤器集合配置
private
List
<
GatewayFilterDefinition
>
filters
=
new
ArrayList
<>();
//路由规则转发的目标uri
private
String
uri
;
//路由执行的顺序
private
int
order
=
0
;
public
String
getId
()
{
return
id
;
}
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
List
<
GatewayPredicateDefinition
>
getPredicates
()
{
return
predicates
;
}
public
void
setPredicates
(
List
<
GatewayPredicateDefinition
>
predicates
)
{
this
.
predicates
=
predicates
;
}
public
List
<
GatewayFilterDefinition
>
getFilters
()
{
return
filters
;
}
public
void
setFilters
(
List
<
GatewayFilterDefinition
>
filters
)
{
this
.
filters
=
filters
;
}
public
String
getUri
()
{
return
uri
;
}
public
void
setUri
(
String
uri
)
{
this
.
uri
=
uri
;
}
public
int
getOrder
()
{
return
order
;
}
public
void
setOrder
(
int
order
)
{
this
.
order
=
order
;
}
}
src/main/java/com/yeejoin/amos/server/gateway/face/service/DefaultHystrixController.java
0 → 100644
View file @
e0bb0b57
package
com
.
yeejoin
.
amos
.
server
.
gateway
.
face
.
service
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* 默认降级处理
*/
@RestController
public
class
DefaultHystrixController
{
@RequestMapping
(
"/defaultfallback"
)
public
Map
<
String
,
String
>
defaultfallback
(){
System
.
out
.
println
(
"降级操作..."
);
Map
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"resultCode"
,
"fail"
);
map
.
put
(
"resultMessage"
,
"服务异常"
);
map
.
put
(
"resultObj"
,
"null"
);
return
map
;
}
}
src/main/java/com/yeejoin/amos/server/gateway/face/service/DynamicRouteServiceImpl.java
0 → 100644
View file @
e0bb0b57
package
com
.
yeejoin
.
amos
.
server
.
gateway
.
face
.
service
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cloud.gateway.event.RefreshRoutesEvent
;
import
org.springframework.cloud.gateway.route.RouteDefinition
;
import
org.springframework.cloud.gateway.route.RouteDefinitionWriter
;
import
org.springframework.context.ApplicationEventPublisher
;
import
org.springframework.context.ApplicationEventPublisherAware
;
import
org.springframework.stereotype.Service
;
import
reactor.core.publisher.Mono
;
/**
* 动态路由服务
*/
@Service
public
class
DynamicRouteServiceImpl
implements
ApplicationEventPublisherAware
{
@Autowired
private
RouteDefinitionWriter
routeDefinitionWriter
;
private
ApplicationEventPublisher
publisher
;
@Override
public
void
setApplicationEventPublisher
(
ApplicationEventPublisher
applicationEventPublisher
)
{
this
.
publisher
=
applicationEventPublisher
;
}
//增加路由
public
String
add
(
RouteDefinition
definition
)
{
routeDefinitionWriter
.
save
(
Mono
.
just
(
definition
)).
subscribe
();
this
.
publisher
.
publishEvent
(
new
RefreshRoutesEvent
(
this
));
return
"success"
;
}
// //更新路由
// public String update(RouteDefinition definition) {
// try {
// delete(definition.getId());
// } catch (Exception e) {
// return "update fail,not find route routeId: "+definition.getId();
// }
// try {
// routeDefinitionWriter.save(Mono.just(definition)).subscribe();
// this.publisher.publishEvent(new RefreshRoutesEvent(this));
// return "success";
// } catch (Exception e) {
// return "update route fail";
// }
// }
// //删除路由
// public Mono<ResponseEntity<Object>> delete(String id) {
// return this.routeDefinitionWriter.delete(Mono.just(id)).then(Mono.defer(() -> {
// return Mono.just(ResponseEntity.ok().build());
// })).onErrorResume((t) -> {
// return t instanceof NotFoundException;
// }, (t) -> {
// return Mono.just(ResponseEntity.notFound().build());
// });
// }
}
src/main/java/com/yeejoin/amos/server/gateway/face/service/RateLimiterConfig.java
0 → 100644
View file @
e0bb0b57
package
com
.
yeejoin
.
amos
.
server
.
gateway
.
face
.
service
;
import
org.springframework.cloud.gateway.filter.ratelimit.KeyResolver
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
reactor.core.publisher.Mono
;
/**
* 路由限流配置
* @author zhuyu
* @date 2019/1/15
*/
@Configuration
public
class
RateLimiterConfig
{
@Bean
(
value
=
"remoteAddrKeyResolver"
)
public
KeyResolver
remoteAddrKeyResolver
()
{
return
exchange
->
Mono
.
just
(
exchange
.
getRequest
().
getRemoteAddress
().
getAddress
().
getHostAddress
());
}
}
\ No newline at end of file
src/main/resources/application-dev.properties
0 → 100644
View file @
e0bb0b57
# REDIS (RedisProperties)
spring.redis.database
=
0
spring.redis.host
=
127.0.0.1
spring.redis.port
=
6379
spring.redis.password
=
1234560
spring.redis.timeout
=
0
##\u00e6\u009c\u008d\u00e5\u008a\u00a1\u00e6\u00b3\u00a8\u00e5\u0086\u008c
eureka.client.serviceUrl.defaultZone
=
http://172.16.10.72:10001/eureka/
eureka.instance.prefer-ip-address
=
true
management.endpoint.health.show-details
=
always
management.endpoints.web.exposure.include
=
*
#eureka.instance.health-check-url=http://localhost:${server.port}${server.servlet.context-path}/actuator/health
eureka.instance.metadata-map.management.context-path
=
/actuator
#eureka.instance.status-page-url=http://localhost:${server.port}${server.servlet.context-path}/actuator/info
eureka.instance.preferIpAddress
=
true
eureka.instance.health-check-url
=
http://${spring.cloud.client.ipAddress}.${server.port}${server.context-path}/health
eureka.instance.status-page-url
=
http://${spring.cloud.client.ipAddress}.${server.port}${server.context-path}/info
eureka.instance.metadataMap.management.context-path
=
${server.context-path}
#eureka\u00e4\u00b8\u008a\u00e6\u00b3\u00a8\u00e5\u0086\u008c\u00e7\u009a\u0084\u00e6\u009c\u008d\u00e5\u008a\u00a1\u00e5\u0090\u008d
iot.name
=
AMOSIOT-237
patrol.name
=
YEEAMOSPATROL-237
bank.name
=
AMOSBANK-XIANA237
risk.name
=
YeeAmosRiskMode-237
duty.name
=
AmosDutyMode-237
\ No newline at end of file
src/main/resources/application-docker.properties
0 → 100644
View file @
e0bb0b57
##服务注册
eureka.client.service-url.defaultZone
=
http://amos-eurka:10001/eureka/
eureka.instance.prefer-ip-address
=
true
management.endpoint.health.show-details
=
always
management.endpoints.web.exposure.include
=
*
eureka.instance.health-check-url
=
http://amos-gateway:${server.port}/actuator/health
eureka.instance.metadata-map.management.context-path
=
/actuator
eureka.instance.status-page-url
=
http://amos-gateway:${server.port}/actuator/info
#服务跟踪
spring.zipkin.base-url
=
http://amos-tracking:10002
spring.zipkin.service.name
=
${spring.application.name}
spring.sleuth.sampler.probability
=
1.0
src/main/resources/application-qa.properties
0 → 100644
View file @
e0bb0b57
##服务注册
eureka.client.service-url.defaultZone
=
http://localhost:10001/eureka/
eureka.instance.prefer-ip-address
=
true
management.endpoint.health.show-details
=
always
management.endpoints.web.exposure.include
=
*
eureka.instance.health-check-url
=
http://localhost:${server.port}/actuator/health
eureka.instance.metadata-map.management.context-path
=
/actuator
eureka.instance.status-page-url
=
http://localhost:${server.port}/actuator/info
#服务跟踪
spring.zipkin.base-url
=
http://localhost:10002
spring.zipkin.service.name
=
${spring.application.name}
spring.sleuth.sampler.probability
=
1.0
src/main/resources/application.properties
0 → 100644
View file @
e0bb0b57
server.port
=
10005
server.http2.enabled
=
true
spring.profiles.active
=
dev
#网管配置
spring.application.name
=
AMOS-BANK-SERVER-GATEWAY
logging.config
=
classpath:logback-dev.xml
spring.cloud.gateway.discovery.locator.enabled
=
true
\ No newline at end of file
src/main/resources/logback-dev.xml
0 → 100644
View file @
e0bb0b57
<?xml version="1.0" encoding="UTF-8"?>
<configuration
debug=
"false"
>
<!-- 控制台输出 -->
<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} [%thread] %-5level %logger{50} - %msg%n
</pattern>
</encoder>
</appender>
<!-- show parameters for hibernate sql 专为 Hibernate 定制
<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="DEBUG" />
<logger name="org.hibernate.engine.QueryParameters" level="DEBUG" />
<logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" />
-->
<!--myibatis log configure-->
<logger
name=
"com.apache.ibatis"
level=
"INFO"
/>
<logger
name=
"java.sql.Connection"
level=
"INFO"
/>
<logger
name=
"java.sql.Statement"
level=
"INFO"
/>
<logger
name=
"java.sql.PreparedStatement"
level=
"INFO"
/>
<logger
name=
"com.baomidou"
level=
"INFO"
/>
<logger
name=
"org.tycloud"
level=
"INFO"
/>
<logger
name=
"org.springframework"
level=
"INFO"
/>
<!-- 日志输出级别 -->
<root
level=
"INFO"
>
<appender-ref
ref=
"STDOUT"
/>
</root>
<!--日志异步到数据库 -->
<!--<appender name="DB" class="ch.qos.logback.classic.db.DBAppender">-->
<!--<!–日志异步到数据库 –>-->
<!--<connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">-->
<!--<!–连接池 –>-->
<!--<dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource">-->
<!--<driverClass>com.mysql.jdbc.Driver</driverClass>-->
<!--<url>jdbc:mysql://127.0.0.1:3306/databaseName</url>-->
<!--<user>root</user>-->
<!--<password>root</password>-->
<!--</dataSource>-->
<!--</connectionSource>-->
<!--</appender>-->
</configuration>
\ No newline at end of file
src/main/resources/logback-docker.xml
0 → 100644
View file @
e0bb0b57
<?xml version="1.0" encoding="UTF-8"?>
<configuration
debug=
"false"
>
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
<property
name=
"LOG_HOME"
value=
"/opt/amos/log"
/>
<!-- 按照每天生成日志文件 -->
<appender
name=
"FILE"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<!--日志文件输出的文件名-->
<FileNamePattern>
${LOG_HOME}/gateway.log.%d{yyyy-MM-dd}.log
</FileNamePattern>
<!--日志文件保留天数-->
<MaxHistory>
30
</MaxHistory>
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
</pattern>
</encoder>
<!--日志文件最大的大小-->
<triggeringPolicy
class=
"ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"
>
<MaxFileSize>
30mb
</MaxFileSize>
</triggeringPolicy>
</appender>
<!-- show parameters for hibernate sql 专为 Hibernate 定制
<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="DEBUG" />
<logger name="org.hibernate.engine.QueryParameters" level="DEBUG" />
<logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" />
-->
<!--myibatis log configure-->
<logger
name=
"com.apache.ibatis"
level=
"INFO"
/>
<logger
name=
"org.mybatis"
level=
"INFO"
/>
<logger
name=
"java.sql.Connection"
level=
"INFO"
/>
<logger
name=
"java.sql.Statement"
level=
"INFO"
/>
<logger
name=
"java.sql.PreparedStatement"
level=
"INFO"
/>
<logger
name=
"com.baomidou.mybatisplus"
level=
"INFO"
/>
<logger
name=
"org.typroject"
level=
"INFO"
/>
<logger
name=
"com.yeejoin"
level=
"INFO"
/>
<logger
name=
"org.springframework"
level=
"INFO"
/>
<!-- 日志输出级别 -->
<root
level=
"INFO"
>
<appender-ref
ref=
"FILE"
/>
</root>
</configuration>
\ No newline at end of file
src/main/resources/logback-qa.xml
0 → 100644
View file @
e0bb0b57
<?xml version="1.0" encoding="UTF-8"?>
<configuration
debug=
"false"
>
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
<property
name=
"LOG_HOME"
value=
"/opt/log/qa"
/>
<!-- 按照每天生成日志文件 -->
<appender
name=
"FILE"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<!--日志文件输出的文件名-->
<FileNamePattern>
${LOG_HOME}/gateway.log.%d{yyyy-MM-dd}.log
</FileNamePattern>
<!--日志文件保留天数-->
<MaxHistory>
30
</MaxHistory>
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
</pattern>
</encoder>
<!--日志文件最大的大小-->
<triggeringPolicy
class=
"ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"
>
<MaxFileSize>
30mb
</MaxFileSize>
</triggeringPolicy>
</appender>
<!-- show parameters for hibernate sql 专为 Hibernate 定制
<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="DEBUG" />
<logger name="org.hibernate.engine.QueryParameters" level="DEBUG" />
<logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" />
-->
<!--myibatis log configure-->
<logger
name=
"com.apache.ibatis"
level=
"INFO"
/>
<logger
name=
"org.mybatis"
level=
"INFO"
/>
<logger
name=
"java.sql.Connection"
level=
"INFO"
/>
<logger
name=
"java.sql.Statement"
level=
"INFO"
/>
<logger
name=
"java.sql.PreparedStatement"
level=
"INFO"
/>
<logger
name=
"com.baomidou.mybatisplus"
level=
"INFO"
/>
<logger
name=
"org.typroject"
level=
"INFO"
/>
<logger
name=
"com.yeejoin"
level=
"INFO"
/>
<logger
name=
"org.springframework"
level=
"INFO"
/>
<!-- 日志输出级别 -->
<root
level=
"INFO"
>
<appender-ref
ref=
"FILE"
/>
</root>
</configuration>
\ No newline at end of file
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