فهرست منبع

格式化代码

gaodm 6 سال پیش
والد
کامیت
1d4e968aaa
64فایلهای تغییر یافته به همراه681 افزوده شده و 607 حذف شده
  1. 13 33
      admin-service/src/main/java/com/diagbot/AdminServiceApplication.java
  2. 2 2
      admin-service/src/main/resources/bootstrap.yml
  3. 70 53
      admin-service/src/main/resources/logback-spring.xml
  4. 2 2
      config-server/src/main/java/com/diagbot/ConfigServerApplication.java
  5. 4 4
      config-server/src/main/resources/application.yml
  6. 75 58
      config-server/src/main/resources/logback-spring.xml
  7. 7 7
      config-server/src/main/resources/shared/admin-service-dev.yml
  8. 7 7
      config-server/src/main/resources/shared/admin-service-local.yml
  9. 3 3
      config-server/src/main/resources/shared/admin-service-pro.yml
  10. 2 2
      config-server/src/main/resources/shared/application-dev.yml
  11. 2 2
      config-server/src/main/resources/shared/application-local.yml
  12. 3 3
      config-server/src/main/resources/shared/bi-service-dev.yml
  13. 3 3
      config-server/src/main/resources/shared/bi-service-local.yml
  14. 3 3
      config-server/src/main/resources/shared/diagbotman-service-dev.yml
  15. 3 3
      config-server/src/main/resources/shared/diagbotman-service-local.yml
  16. 3 3
      config-server/src/main/resources/shared/feedback-service-dev.yml
  17. 3 3
      config-server/src/main/resources/shared/feedback-service-local.yml
  18. 51 51
      config-server/src/main/resources/shared/gateway-service-dev.yml
  19. 51 51
      config-server/src/main/resources/shared/gateway-service-local.yml
  20. 3 3
      config-server/src/main/resources/shared/knowledge-service-dev.yml
  21. 3 3
      config-server/src/main/resources/shared/knowledge-service-local.yml
  22. 3 3
      config-server/src/main/resources/shared/logger-service-dev.yml
  23. 3 3
      config-server/src/main/resources/shared/logger-service-local.yml
  24. 2 2
      config-server/src/main/resources/shared/uaa-service-dev.yml
  25. 2 2
      config-server/src/main/resources/shared/uaa-service-local.yml
  26. 3 3
      config-server/src/main/resources/shared/user-service-dev.yml
  27. 3 3
      config-server/src/main/resources/shared/user-service-local.yml
  28. 2 2
      eureka-server/src/main/java/com/diagbot/EurekaServerApplication.java
  29. 2 1
      eureka-server/src/main/java/com/diagbot/listener/InstanceCancelListener.java
  30. 2 1
      eureka-server/src/main/java/com/diagbot/listener/InstanceRegisterListener.java
  31. 2 1
      eureka-server/src/main/java/com/diagbot/listener/InstanceRenewListener.java
  32. 70 53
      eureka-server/src/main/resources/logback-spring.xml
  33. 3 3
      gateway-service/src/main/java/com/diagbot/GatewayServiceApplication.java
  34. 1 1
      gateway-service/src/main/java/com/diagbot/client/DiagbotmanServiceClient.java
  35. 2 2
      gateway-service/src/main/java/com/diagbot/client/UserServiceClient.java
  36. 2 2
      gateway-service/src/main/java/com/diagbot/client/hystrix/DiagbotmanServiceHystrix.java
  37. 2 2
      gateway-service/src/main/java/com/diagbot/client/hystrix/UserServiceHystrix.java
  38. 1 1
      gateway-service/src/main/java/com/diagbot/dto/RespDTO.java
  39. 3 3
      gateway-service/src/main/java/com/diagbot/entity/ServiceToken.java
  40. 7 8
      gateway-service/src/main/java/com/diagbot/entity/User.java
  41. 21 21
      gateway-service/src/main/java/com/diagbot/filter/GlobalGatewayFilter.java
  42. 6 6
      log-service/src/main/java/com/diagbot/LogServiceApplication.java
  43. 6 6
      log-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java
  44. 1 1
      log-service/src/main/java/com/diagbot/client/UserServiceClient.java
  45. 2 2
      log-service/src/main/java/com/diagbot/config/JwtConfigurer.java
  46. 2 2
      log-service/src/main/java/com/diagbot/config/ResourceServerConfigurer.java
  47. 3 3
      log-service/src/main/java/com/diagbot/config/SwaggerConfigurer.java
  48. 2 2
      log-service/src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java
  49. 14 13
      log-service/src/main/java/com/diagbot/entity/SysLog.java
  50. 9 9
      log-service/src/main/java/com/diagbot/entity/User.java
  51. 4 4
      log-service/src/main/java/com/diagbot/exception/CommonExceptionHandler.java
  52. 3 3
      log-service/src/main/java/com/diagbot/exception/ServiceErrorCode.java
  53. 1 1
      log-service/src/main/java/com/diagbot/mapper/SysLogMapper.java
  54. 4 3
      log-service/src/main/java/com/diagbot/rabbit/MyReceiver.java
  55. 2 2
      log-service/src/main/java/com/diagbot/rabbit/MySender.java
  56. 1 1
      log-service/src/main/java/com/diagbot/service/SysLogService.java
  57. 1 1
      log-service/src/main/java/com/diagbot/service/impl/SysLogServiceImpl.java
  58. 11 7
      log-service/src/main/java/com/diagbot/web/SysLogController.java
  59. 2 2
      log-service/src/main/resources/bootstrap.yml
  60. 70 53
      log-service/src/main/resources/logback-spring.xml
  61. 14 13
      log-service/src/main/resources/mapper/SysLogMapper.xml
  62. 2 2
      monitor-service/src/main/java/com/diagbot/MonitorServiceApplication.java
  63. 2 2
      monitor-service/src/main/resources/bootstrap.yml
  64. 70 53
      monitor-service/src/main/resources/logback-spring.xml

+ 13 - 33
admin-service/src/main/java/com/diagbot/AdminServiceApplication.java

@@ -25,8 +25,8 @@ import org.springframework.security.web.authentication.SavedRequestAwareAuthenti
  * @author: gaodm
  * @time: 2018/8/7 10:48
  */
-@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
-        JmxAutoConfiguration.class, ThymeleafAutoConfiguration.class})
+@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
+        JmxAutoConfiguration.class, ThymeleafAutoConfiguration.class })
 @EnableTurbine
 @EnableHystrixDashboard
 @EnableHystrix
@@ -40,36 +40,6 @@ public class AdminServiceApplication {
         SpringApplication.run(AdminServiceApplication.class, args);
     }
 
-//    // tag::configuration-spring-security[]
-//    @Configuration
-//    public static class SecurityConfig extends WebSecurityConfigurerAdapter {
-//        @Override
-//        protected void configure(HttpSecurity http) throws Exception {
-//            // Page with login form is served as /login.html and does a POST on /login
-//            http.formLogin().loginPage("/login.html").loginProcessingUrl("/login").permitAll();
-//            // The UI does a POST on /logout on logout
-//            http.logout().logoutUrl("/logout");
-//            // The ui currently doesn't support csrf
-//            http.csrf().disable();
-//
-//            // Requests for the login page and the static assets are allowed
-//            http.authorizeRequests()
-//                    .antMatchers("/login.html", "/**/*.css", "/img/**", "/third-party/**")
-//                    .permitAll();
-//            // ... and any other request needs to be authorized
-//            http.authorizeRequests().antMatchers("/**").authenticated();
-//
-//            // Enable so that the clients can authenticate via HTTP basic for registering
-//            http.httpBasic();
-//        }
-//    }
-//
-//    @Autowired
-//    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
-//        auth
-//                .inMemoryAuthentication()
-//                .withUser("admin").password("123456").roles("USER");
-//    }
     @Profile("local")
     @Configuration
     public static class SecurityPermitAllConfigLocal extends WebSecurityConfigurerAdapter {
@@ -82,7 +52,17 @@ public class AdminServiceApplication {
 
     @Profile("dev")
     @Configuration
-    public static class SecurityPermitAllConfig extends WebSecurityConfigurerAdapter {
+    public static class SecurityPermitAllConfigDev extends WebSecurityConfigurerAdapter {
+        @Override
+        protected void configure(HttpSecurity http) throws Exception {
+            http.authorizeRequests().anyRequest().permitAll()
+                    .and().csrf().disable();
+        }
+    }
+
+    @Profile("test")
+    @Configuration
+    public static class SecurityPermitAllConfigTest extends WebSecurityConfigurerAdapter {
         @Override
         protected void configure(HttpSecurity http) throws Exception {
             http.authorizeRequests().anyRequest().permitAll()

+ 2 - 2
admin-service/src/main/resources/bootstrap.yml

@@ -3,13 +3,13 @@ spring:
     name: admin-service
   cloud:
     config:
-#      uri: http://${myuri}:8769
+      #uri: http://${myuri}:8769
       fail-fast: true
       discovery:
         enabled: true
         serviceId: config-server
   profiles:
-      active: local
+    active: local
 
 eureka:
   client:

+ 70 - 53
admin-service/src/main/resources/logback-spring.xml

@@ -1,19 +1,24 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
     <!-- 项目名称 -->
-    <property name="APPDIR" value="admin-service" />
+    <property name="APPDIR" value="admin-service"/>
     <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
-    <property name="LOG_PATH" value="../logs" />
+    <property name="LOG_PATH" value="../logs"/>
 
     <!-- 彩色日志 -->
     <!-- 彩色日志依赖的渲染类 -->
-    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
-    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
-    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
+    <conversionRule conversionWord="clr"
+                    converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
+    <conversionRule conversionWord="wex"
+                    converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
+    <conversionRule conversionWord="wEx"
+                    converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
     <!-- 彩色日志格式 -->
-    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%logger){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />
+    <property name="CONSOLE_LOG_PATTERN"
+              value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%logger){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
     <!--包名输出缩进对齐-->
-    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />
+    <property name="CONSOLE_LOG_PATTERN"
+              value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
 
     <!--  日志记录器,日期滚动记录
             ERROR 级别
@@ -26,12 +31,14 @@
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/error/${APPDIR}-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/error/${APPDIR}-error-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <maxHistory>30</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-error-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
@@ -39,7 +46,8 @@
         <append>true</append>
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
         </encoder>
         <!-- 此日志文件记录error级别的 -->
@@ -62,12 +70,14 @@
             <!-- 归档的日志文件的路径,例如今天1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/warn/${APPDIR}-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/warn/${APPDIR}-warn-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <maxHistory>15</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-warn-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
@@ -75,7 +85,8 @@
         <append>true</append>
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
         </encoder>
         <!-- 此日志文件只记录warn级别的 -->
@@ -98,12 +109,14 @@
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/info/${APPDIR}-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/info/${APPDIR}-info-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <maxHistory>15</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-info-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
@@ -111,7 +124,8 @@
         <append>true</append>
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
         </encoder>
         <!-- 此日志文件只记录info级别的 -->
@@ -134,12 +148,14 @@
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/debug/${APPDIR}-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/debug/${APPDIR}-debug-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <maxHistory>15</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-debug-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
@@ -147,7 +163,8 @@
         <append>true</append>
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
         </encoder>
         <!-- 此日志文件只记录debug级别的 -->
@@ -175,31 +192,31 @@
 
     <!--&lt;!&ndash;输出到mysql数据库的appender配置     &ndash;&gt;-->
     <!--<appender name="db" class="ch.qos.logback.classic.db.DBAppender">-->
-        <!--<connectionSource-->
-                <!--class="ch.qos.logback.core.db.DriverManagerConnectionSource">-->
-            <!--<driverClass>com.mysql.jdbc.Driver</driverClass>-->
-            <!--<url>jdbc:mysql://120.77.222.42:3306/logback_member?characterEncoding=utf8</url>-->
-            <!--<user>root</user>-->
-            <!--<password>a123456789</password>-->
-        <!--</connectionSource>-->
+    <!--<connectionSource-->
+    <!--class="ch.qos.logback.core.db.DriverManagerConnectionSource">-->
+    <!--<driverClass>com.mysql.jdbc.Driver</driverClass>-->
+    <!--<url>jdbc:mysql://120.77.222.42:3306/logback_member?characterEncoding=utf8</url>-->
+    <!--<user>root</user>-->
+    <!--<password>a123456789</password>-->
+    <!--</connectionSource>-->
     <!--</appender>-->
 
     <!-- FrameworkServlet日志-->
-    <logger name="org.springframework" level="WARN" />
+    <logger name="org.springframework" level="WARN"/>
 
     <!-- mybatis日志打印-->
-    <logger name="org.apache.ibatis" level="DEBUG" />
-    <logger name="java.sql" level="DEBUG" />
+    <logger name="org.apache.ibatis" level="DEBUG"/>
+    <logger name="java.sql" level="DEBUG"/>
 
     <!--  项目 mapper 路径
             console控制台显示sql语句:STDOUT.filter.level -> debug级别
     -->
-    <logger name="com.diagbot.mapper" level="DEBUG" />
+    <logger name="com.diagbot.mapper" level="DEBUG"/>
 
     <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
         <destination>192.168.2.236:5044</destination>
         <!-- encoder必须配置,有多种可选 -->
-        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" >
+        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">
             <customFields>{"appname":"admin-service"}</customFields>
         </encoder>
     </appender>
@@ -207,49 +224,49 @@
     <!-- 本地环境下的日志配置 -->
     <springProfile name="local">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
             <!-- 生产环境将请stdout去掉 -->
-            <appender-ref ref="STDOUT" />
+            <appender-ref ref="STDOUT"/>
         </root>
     </springProfile>
 
     <!-- 开发环境下的日志配置 -->
     <springProfile name="dev">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
             <!-- 生产环境将请stdout去掉 -->
-            <appender-ref ref="STDOUT" />
-            <appender-ref ref="LOGSTASH" />
+            <appender-ref ref="STDOUT"/>
+            <appender-ref ref="LOGSTASH"/>
         </root>
     </springProfile>
 
     <!-- 测试环境下的日志配置 -->
     <springProfile name="test">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
             <!-- 生产环境将请stdout去掉 -->
-            <appender-ref ref="STDOUT" />
-            <appender-ref ref="LOGSTASH" />
+            <appender-ref ref="STDOUT"/>
+            <appender-ref ref="LOGSTASH"/>
         </root>
     </springProfile>
 
     <!-- 生产环境下的日志配置 -->
     <springProfile name="prod">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
-            <appender-ref ref="LOGSTASH" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
+            <appender-ref ref="LOGSTASH"/>
         </root>
     </springProfile>
 </configuration>

+ 2 - 2
config-server/src/main/java/com/diagbot/ConfigServerApplication.java

@@ -14,8 +14,8 @@ import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
  * @author: gaodm
  * @time: 2018/8/1 14:56
  */
-@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
-        JmxAutoConfiguration.class, ThymeleafAutoConfiguration.class})
+@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
+        JmxAutoConfiguration.class, ThymeleafAutoConfiguration.class })
 @EnableConfigServer
 @EnableEurekaClient
 public class ConfigServerApplication {

+ 4 - 4
config-server/src/main/resources/application.yml

@@ -18,8 +18,8 @@ spring:
         native:
           search-locations: classpath:/shared
   profiles:
-     active: native
-#
+    active: native
+  #
   application:
     name: config-server
 #  #mq
@@ -62,8 +62,8 @@ management:
         allowed-origins: "*"
         allowed-methods: "*"
   endpoint:
-      health:
-        show-details: ALWAYS
+    health:
+      show-details: ALWAYS
   security:
     enabled: false
 

+ 75 - 58
config-server/src/main/resources/logback-spring.xml

@@ -1,19 +1,24 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
     <!-- 项目名称 -->
-    <property name="APPDIR" value="config-server" />
+    <property name="APPDIR" value="config-server"/>
     <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
-    <property name="LOG_PATH" value="../logs" />
+    <property name="LOG_PATH" value="../logs"/>
 
     <!-- 彩色日志 -->
     <!-- 彩色日志依赖的渲染类 -->
-    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
-    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
-    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
+    <conversionRule conversionWord="clr"
+                    converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
+    <conversionRule conversionWord="wex"
+                    converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
+    <conversionRule conversionWord="wEx"
+                    converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
     <!-- 彩色日志格式 -->
-    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%logger){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />
+    <property name="CONSOLE_LOG_PATTERN"
+              value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%logger){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
     <!--包名输出缩进对齐-->
-    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />
+    <property name="CONSOLE_LOG_PATTERN"
+              value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
 
     <!--  日志记录器,日期滚动记录
             ERROR 级别
@@ -26,12 +31,14 @@
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/error/${APPDIR}-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/error/${APPDIR}-error-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <maxHistory>30</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-error-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
@@ -39,7 +46,8 @@
         <append>true</append>
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
         </encoder>
         <!-- 此日志文件记录error级别的 -->
@@ -62,12 +70,14 @@
             <!-- 归档的日志文件的路径,例如今天1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/warn/${APPDIR}-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/warn/${APPDIR}-warn-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <maxHistory>15</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-warn-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
@@ -75,7 +85,8 @@
         <append>true</append>
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
         </encoder>
         <!-- 此日志文件只记录warn级别的 -->
@@ -98,12 +109,14 @@
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/info/${APPDIR}-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/info/${APPDIR}-info-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <maxHistory>15</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-info-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
@@ -111,7 +124,8 @@
         <append>true</append>
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
         </encoder>
         <!-- 此日志文件只记录info级别的 -->
@@ -134,12 +148,14 @@
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/debug/${APPDIR}-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/debug/${APPDIR}-debug-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <maxHistory>15</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-debug-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
@@ -147,7 +163,8 @@
         <append>true</append>
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
         </encoder>
         <!-- 此日志文件只记录debug级别的 -->
@@ -175,31 +192,31 @@
 
     <!--&lt;!&ndash;输出到mysql数据库的appender配置     &ndash;&gt;-->
     <!--<appender name="db" class="ch.qos.logback.classic.db.DBAppender">-->
-        <!--<connectionSource-->
-                <!--class="ch.qos.logback.core.db.DriverManagerConnectionSource">-->
-            <!--<driverClass>com.mysql.jdbc.Driver</driverClass>-->
-            <!--<url>jdbc:mysql://120.77.222.42:3306/logback_member?characterEncoding=utf8</url>-->
-            <!--<user>root</user>-->
-            <!--<password>a123456789</password>-->
-        <!--</connectionSource>-->
+    <!--<connectionSource-->
+    <!--class="ch.qos.logback.core.db.DriverManagerConnectionSource">-->
+    <!--<driverClass>com.mysql.jdbc.Driver</driverClass>-->
+    <!--<url>jdbc:mysql://120.77.222.42:3306/logback_member?characterEncoding=utf8</url>-->
+    <!--<user>root</user>-->
+    <!--<password>a123456789</password>-->
+    <!--</connectionSource>-->
     <!--</appender>-->
 
     <!-- FrameworkServlet日志-->
-    <logger name="org.springframework" level="WARN" />
+    <logger name="org.springframework" level="WARN"/>
 
     <!-- mybatis日志打印-->
-    <logger name="org.apache.ibatis" level="DEBUG" />
-    <logger name="java.sql" level="DEBUG" />
+    <logger name="org.apache.ibatis" level="DEBUG"/>
+    <logger name="java.sql" level="DEBUG"/>
 
     <!--  项目 mapper 路径
             console控制台显示sql语句:STDOUT.filter.level -> debug级别
     -->
-    <logger name="com.diagbot.mapper" level="DEBUG" />
+    <logger name="com.diagbot.mapper" level="DEBUG"/>
 
     <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
         <destination>192.168.2.236:5044</destination>
         <!-- encoder必须配置,有多种可选 -->
-        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" >
+        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">
             <customFields>{"appname":"config-server"}</customFields>
         </encoder>
     </appender>
@@ -207,59 +224,59 @@
     <!-- 本地环境下的日志配置 -->
     <springProfile name="native">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
             <!-- 生产环境将请stdout去掉 -->
-            <appender-ref ref="STDOUT" />
+            <appender-ref ref="STDOUT"/>
         </root>
     </springProfile>
     <springProfile name="local">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
             <!-- 生产环境将请stdout去掉 -->
-            <appender-ref ref="STDOUT" />
+            <appender-ref ref="STDOUT"/>
         </root>
     </springProfile>
 
     <!-- 开发环境下的日志配置 -->
     <springProfile name="dev">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
             <!-- 生产环境将请stdout去掉 -->
-            <appender-ref ref="STDOUT" />
-            <appender-ref ref="LOGSTASH" />
+            <appender-ref ref="STDOUT"/>
+            <appender-ref ref="LOGSTASH"/>
         </root>
     </springProfile>
 
     <!-- 测试环境下的日志配置 -->
     <springProfile name="test">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
             <!-- 生产环境将请stdout去掉 -->
-            <appender-ref ref="STDOUT" />
-            <appender-ref ref="LOGSTASH" />
+            <appender-ref ref="STDOUT"/>
+            <appender-ref ref="LOGSTASH"/>
         </root>
     </springProfile>
 
     <!-- 生产环境下的日志配置 -->
     <springProfile name="prod">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
-            <appender-ref ref="LOGSTASH" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
+            <appender-ref ref="LOGSTASH"/>
         </root>
     </springProfile>
 </configuration>

+ 7 - 7
config-server/src/main/resources/shared/admin-service-dev.yml

@@ -11,17 +11,17 @@ server:
 #        location: monitor-service
 
 security2:
-    user:
-      name: "admin"
-      password: "123456"
+  user:
+    name: "admin"
+    password: "123456"
 
 
 spring:
   profiles: dev
-#  security:
-#    user:
-#      name: ${security2.user.name}
-#      password: ${security2.user.password}
+  #  security:
+  #    user:
+  #      name: ${security2.user.name}
+  #      password: ${security2.user.password}
   #mq
   rabbitmq:
     host: 192.168.2.236

+ 7 - 7
config-server/src/main/resources/shared/admin-service-local.yml

@@ -11,17 +11,17 @@ server:
 #        location: monitor-service
 
 security2:
-    user:
-      name: "admin"
-      password: "123456"
+  user:
+    name: "admin"
+    password: "123456"
 
 
 spring:
   profiles: local
-#  security:
-#    user:
-#      name: ${security2.user.name}
-#      password: ${security2.user.password}
+  #  security:
+  #    user:
+  #      name: ${security2.user.name}
+  #      password: ${security2.user.password}
   #mq
   rabbitmq:
     host: localhost

+ 3 - 3
config-server/src/main/resources/shared/admin-service-pro.yml

@@ -11,9 +11,9 @@ server:
 #        location: monitor-service
 
 security2:
-    user:
-      name: "admin"
-      password: "123456"
+  user:
+    name: "admin"
+    password: "123456"
 
 
 spring:

+ 2 - 2
config-server/src/main/resources/shared/application-dev.yml

@@ -42,8 +42,8 @@ management:
         allowed-origins: "*"
         allowed-methods: "*"
   endpoint:
-      health:
-        show-details: always
+    health:
+      show-details: always
 feign:
   hystrix:
     enabled: true

+ 2 - 2
config-server/src/main/resources/shared/application-local.yml

@@ -42,8 +42,8 @@ management:
         allowed-origins: "*"
         allowed-methods: "*"
   endpoint:
-      health:
-        show-details: always
+    health:
+      show-details: always
 feign:
   hystrix:
     enabled: true

+ 3 - 3
config-server/src/main/resources/shared/bi-service-dev.yml

@@ -44,13 +44,13 @@ spring:
       filters.commons-log.connection-logger-name: stat,wall,log4j
       filter.stat.log-slow-sql: true
       filter.stat.slow-sql-millis: 2000
-#监控配置
+      #监控配置
       web-stat-filter:
         enabled: true
         url-pattern: /*
         exclusions: '*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*'
 
-# StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
+      # StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
       stat-view-servlet:
         enabled: true
         url-pattern: /druid/*
@@ -63,7 +63,7 @@ spring:
       bindings:
         outputLog:
           destination: myLog
-#          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+  #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
 
   #mq
   rabbitmq:

+ 3 - 3
config-server/src/main/resources/shared/bi-service-local.yml

@@ -44,13 +44,13 @@ spring:
       filters.commons-log.connection-logger-name: stat,wall,log4j
       filter.stat.log-slow-sql: true
       filter.stat.slow-sql-millis: 2000
-#监控配置
+      #监控配置
       web-stat-filter:
         enabled: true
         url-pattern: /*
         exclusions: '*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*'
 
-# StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
+      # StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
       stat-view-servlet:
         enabled: true
         url-pattern: /druid/*
@@ -63,7 +63,7 @@ spring:
       bindings:
         outputLog:
           destination: myLog
-#          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+  #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
 
   #mq
   rabbitmq:

+ 3 - 3
config-server/src/main/resources/shared/diagbotman-service-dev.yml

@@ -44,13 +44,13 @@ spring:
       filters.commons-log.connection-logger-name: stat,wall,log4j
       filter.stat.log-slow-sql: true
       filter.stat.slow-sql-millis: 2000
-#监控配置
+      #监控配置
       web-stat-filter:
         enabled: true
         url-pattern: /*
         exclusions: '*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*'
 
-# StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
+      # StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
       stat-view-servlet:
         enabled: true
         url-pattern: /druid/*
@@ -63,7 +63,7 @@ spring:
       bindings:
         outputLog:
           destination: myLog
-#          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+  #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
 
   #mq
   rabbitmq:

+ 3 - 3
config-server/src/main/resources/shared/diagbotman-service-local.yml

@@ -44,13 +44,13 @@ spring:
       filters.commons-log.connection-logger-name: stat,wall,log4j
       filter.stat.log-slow-sql: true
       filter.stat.slow-sql-millis: 2000
-#监控配置
+      #监控配置
       web-stat-filter:
         enabled: true
         url-pattern: /*
         exclusions: '*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*'
 
-# StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
+      # StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
       stat-view-servlet:
         enabled: true
         url-pattern: /druid/*
@@ -63,7 +63,7 @@ spring:
       bindings:
         outputLog:
           destination: myLog
-#          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+  #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
 
   #mq
   rabbitmq:

+ 3 - 3
config-server/src/main/resources/shared/feedback-service-dev.yml

@@ -44,13 +44,13 @@ spring:
       filters.commons-log.connection-logger-name: stat,wall,log4j
       filter.stat.log-slow-sql: true
       filter.stat.slow-sql-millis: 2000
-#监控配置
+      #监控配置
       web-stat-filter:
         enabled: true
         url-pattern: /*
         exclusions: '*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*'
 
-# StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
+      # StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
       stat-view-servlet:
         enabled: true
         url-pattern: /druid/*
@@ -63,7 +63,7 @@ spring:
       bindings:
         outputLog:
           destination: myLog
-#          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+  #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
 
   #mq
   rabbitmq:

+ 3 - 3
config-server/src/main/resources/shared/feedback-service-local.yml

@@ -44,13 +44,13 @@ spring:
       filters.commons-log.connection-logger-name: stat,wall,log4j
       filter.stat.log-slow-sql: true
       filter.stat.slow-sql-millis: 2000
-#监控配置
+      #监控配置
       web-stat-filter:
         enabled: true
         url-pattern: /*
         exclusions: '*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*'
 
-# StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
+      # StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
       stat-view-servlet:
         enabled: true
         url-pattern: /druid/*
@@ -63,7 +63,7 @@ spring:
       bindings:
         outputLog:
           destination: myLog
-#          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+  #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
 
   #mq
   rabbitmq:

+ 51 - 51
config-server/src/main/resources/shared/gateway-service-dev.yml

@@ -20,57 +20,57 @@ spring:
     publisher-confirms: true
     virtual-host: /
   cloud:
-      gateway:
-        default-filters:
-        routes:
-        - id: user-service
-          uri: lb://user-service
-          predicates:
-          - Path=/api/user/**
-          filters:
-          - SwaggerHeaderFilter
-          - StripPrefix=2
-        - id: logger-service
-          uri: lb://logger-service
-          predicates:
-          - Path=/api/log/**
-          filters:
-          - SwaggerHeaderFilter
-          - StripPrefix=2
-        - id: bi-service
-          uri: lb://bi-service
-          predicates:
-          - Path=/api/bi/**
-          filters:
-          - SwaggerHeaderFilter
-          - StripPrefix=2
-        - id: diagbotman-service
-          uri: lb://diagbotman-service
-          predicates:
-          - Path=/api/diagbotman/**
-          filters:
-          - SwaggerHeaderFilter
-          - StripPrefix=2
-        - id: feedback-service
-          uri: lb://feedback-service
-          predicates:
-          - Path=/api/feedback/**
-          filters:
-          - SwaggerHeaderFilter
-          - StripPrefix=2
-        - id: knowledge-service
-          uri: lb://knowledge-service
-          predicates:
-          - Path=/api/knowledge/**
-          filters:
-          - SwaggerHeaderFilter
-          - StripPrefix=2
-        - id: icss
-          uri: http://192.168.2.224:9080
-          predicates:
-          - Path=/api/icss/**
-          filters:
-          - StripPrefix=2
+    gateway:
+      default-filters:
+      routes:
+      - id: user-service
+        uri: lb://user-service
+        predicates:
+        - Path=/api/user/**
+        filters:
+        - SwaggerHeaderFilter
+        - StripPrefix=2
+      - id: logger-service
+        uri: lb://logger-service
+        predicates:
+        - Path=/api/log/**
+        filters:
+        - SwaggerHeaderFilter
+        - StripPrefix=2
+      - id: bi-service
+        uri: lb://bi-service
+        predicates:
+        - Path=/api/bi/**
+        filters:
+        - SwaggerHeaderFilter
+        - StripPrefix=2
+      - id: diagbotman-service
+        uri: lb://diagbotman-service
+        predicates:
+        - Path=/api/diagbotman/**
+        filters:
+        - SwaggerHeaderFilter
+        - StripPrefix=2
+      - id: feedback-service
+        uri: lb://feedback-service
+        predicates:
+        - Path=/api/feedback/**
+        filters:
+        - SwaggerHeaderFilter
+        - StripPrefix=2
+      - id: knowledge-service
+        uri: lb://knowledge-service
+        predicates:
+        - Path=/api/knowledge/**
+        filters:
+        - SwaggerHeaderFilter
+        - StripPrefix=2
+      - id: icss
+        uri: http://192.168.2.224:9080
+        predicates:
+        - Path=/api/icss/**
+        filters:
+        - StripPrefix=2
 
 server:
   port: 5050

+ 51 - 51
config-server/src/main/resources/shared/gateway-service-local.yml

@@ -20,57 +20,57 @@ spring:
     publisher-confirms: true
     virtual-host: /
   cloud:
-      gateway:
-        default-filters:
-        routes:
-        - id: user-service
-          uri: lb://user-service
-          predicates:
-          - Path=/api/user/**
-          filters:
-          - SwaggerHeaderFilter
-          - StripPrefix=2
-        - id: logger-service
-          uri: lb://logger-service
-          predicates:
-          - Path=/api/log/**
-          filters:
-          - SwaggerHeaderFilter
-          - StripPrefix=2
-        - id: bi-service
-          uri: lb://bi-service
-          predicates:
-          - Path=/api/bi/**
-          filters:
-          - SwaggerHeaderFilter
-          - StripPrefix=2
-        - id: diagbotman-service
-          uri: lb://diagbotman-service
-          predicates:
-          - Path=/api/diagbotman/**
-          filters:
-          - SwaggerHeaderFilter
-          - StripPrefix=2
-        - id: feedback-service
-          uri: lb://feedback-service
-          predicates:
-          - Path=/api/feedback/**
-          filters:
-          - SwaggerHeaderFilter
-          - StripPrefix=2
-        - id: knowledge-service
-          uri: lb://knowledge-service
-          predicates:
-          - Path=/api/knowledge/**
-          filters:
-          - SwaggerHeaderFilter
-          - StripPrefix=2
-        - id: icss
-          uri: http://192.168.2.224:9080
-          predicates:
-          - Path=/api/icss/**
-          filters:
-          - StripPrefix=2
+    gateway:
+      default-filters:
+      routes:
+      - id: user-service
+        uri: lb://user-service
+        predicates:
+        - Path=/api/user/**
+        filters:
+        - SwaggerHeaderFilter
+        - StripPrefix=2
+      - id: logger-service
+        uri: lb://logger-service
+        predicates:
+        - Path=/api/log/**
+        filters:
+        - SwaggerHeaderFilter
+        - StripPrefix=2
+      - id: bi-service
+        uri: lb://bi-service
+        predicates:
+        - Path=/api/bi/**
+        filters:
+        - SwaggerHeaderFilter
+        - StripPrefix=2
+      - id: diagbotman-service
+        uri: lb://diagbotman-service
+        predicates:
+        - Path=/api/diagbotman/**
+        filters:
+        - SwaggerHeaderFilter
+        - StripPrefix=2
+      - id: feedback-service
+        uri: lb://feedback-service
+        predicates:
+        - Path=/api/feedback/**
+        filters:
+        - SwaggerHeaderFilter
+        - StripPrefix=2
+      - id: knowledge-service
+        uri: lb://knowledge-service
+        predicates:
+        - Path=/api/knowledge/**
+        filters:
+        - SwaggerHeaderFilter
+        - StripPrefix=2
+      - id: icss
+        uri: http://192.168.2.224:9080
+        predicates:
+        - Path=/api/icss/**
+        filters:
+        - StripPrefix=2
 
 server:
   port: 5050

+ 3 - 3
config-server/src/main/resources/shared/knowledge-service-dev.yml

@@ -44,13 +44,13 @@ spring:
       filters.commons-log.connection-logger-name: stat,wall,log4j
       filter.stat.log-slow-sql: true
       filter.stat.slow-sql-millis: 2000
-#监控配置
+      #监控配置
       web-stat-filter:
         enabled: true
         url-pattern: /*
         exclusions: '*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*'
 
-# StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
+      # StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
       stat-view-servlet:
         enabled: true
         url-pattern: /druid/*
@@ -63,7 +63,7 @@ spring:
       bindings:
         outputLog:
           destination: myLog
-#          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+  #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
 
   #mq
   rabbitmq:

+ 3 - 3
config-server/src/main/resources/shared/knowledge-service-local.yml

@@ -44,13 +44,13 @@ spring:
       filters.commons-log.connection-logger-name: stat,wall,log4j
       filter.stat.log-slow-sql: true
       filter.stat.slow-sql-millis: 2000
-#监控配置
+      #监控配置
       web-stat-filter:
         enabled: true
         url-pattern: /*
         exclusions: '*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*'
 
-# StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
+      # StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
       stat-view-servlet:
         enabled: true
         url-pattern: /druid/*
@@ -63,7 +63,7 @@ spring:
       bindings:
         outputLog:
           destination: myLog
-#          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+  #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
 
   #mq
   rabbitmq:

+ 3 - 3
config-server/src/main/resources/shared/logger-service-dev.yml

@@ -45,13 +45,13 @@ spring:
       filters.commons-log.connection-logger-name: stat,wall,log4j
       filter.stat.log-slow-sql: true
       filter.stat.slow-sql-millis: 2000
-#监控配置
+      #监控配置
       web-stat-filter:
         enabled: true
         url-pattern: /*
         exclusions: '*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*'
 
-# StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
+      # StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
       stat-view-servlet:
         enabled: true
         url-pattern: /druid/*
@@ -64,7 +64,7 @@ spring:
       bindings:
         outputLog:
           destination: myLog
-#          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+        #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
         inputLog:
           destination: myLog
           group: logReceiveGroup     # 具体分组 对应 MQ 是 队列名称 并且持久化队列

+ 3 - 3
config-server/src/main/resources/shared/logger-service-local.yml

@@ -45,13 +45,13 @@ spring:
       filters.commons-log.connection-logger-name: stat,wall,log4j
       filter.stat.log-slow-sql: true
       filter.stat.slow-sql-millis: 2000
-#监控配置
+      #监控配置
       web-stat-filter:
         enabled: true
         url-pattern: /*
         exclusions: '*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*'
 
-# StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
+      # StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
       stat-view-servlet:
         enabled: true
         url-pattern: /druid/*
@@ -64,7 +64,7 @@ spring:
       bindings:
         outputLog:
           destination: myLog
-#          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+        #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
         inputLog:
           destination: myLog
           group: logReceiveGroup     # 具体分组 对应 MQ 是 队列名称 并且持久化队列

+ 2 - 2
config-server/src/main/resources/shared/uaa-service-dev.yml

@@ -41,13 +41,13 @@ spring:
       filters.commons-log.connection-logger-name: stat,wall,log4j
       filter.stat.log-slow-sql: true
       filter.stat.slow-sql-millis: 2000
-#监控配置
+      #监控配置
       web-stat-filter:
         enabled: true
         url-pattern: /*
         exclusions: '*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*'
 
-# StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
+      # StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
       stat-view-servlet:
         enabled: true
         url-pattern: /druid/*

+ 2 - 2
config-server/src/main/resources/shared/uaa-service-local.yml

@@ -41,13 +41,13 @@ spring:
       filters.commons-log.connection-logger-name: stat,wall,log4j
       filter.stat.log-slow-sql: true
       filter.stat.slow-sql-millis: 2000
-#监控配置
+      #监控配置
       web-stat-filter:
         enabled: true
         url-pattern: /*
         exclusions: '*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*'
 
-# StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
+      # StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
       stat-view-servlet:
         enabled: true
         url-pattern: /druid/*

+ 3 - 3
config-server/src/main/resources/shared/user-service-dev.yml

@@ -45,13 +45,13 @@ spring:
       filters.commons-log.connection-logger-name: stat,wall,log4j
       filter.stat.log-slow-sql: true
       filter.stat.slow-sql-millis: 2000
-#监控配置
+      #监控配置
       web-stat-filter:
         enabled: true
         url-pattern: /*
         exclusions: '*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*'
 
-# StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
+      # StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
       stat-view-servlet:
         enabled: true
         url-pattern: /druid/*
@@ -64,7 +64,7 @@ spring:
       bindings:
         outputLog:
           destination: myLog
-#          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+  #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
 
   #mq
   rabbitmq:

+ 3 - 3
config-server/src/main/resources/shared/user-service-local.yml

@@ -45,13 +45,13 @@ spring:
       filters.commons-log.connection-logger-name: stat,wall,log4j
       filter.stat.log-slow-sql: true
       filter.stat.slow-sql-millis: 2000
-#监控配置
+      #监控配置
       web-stat-filter:
         enabled: true
         url-pattern: /*
         exclusions: '*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*'
 
-# StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
+      # StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
       stat-view-servlet:
         enabled: true
         url-pattern: /druid/*
@@ -64,7 +64,7 @@ spring:
       bindings:
         outputLog:
           destination: myLog
-#          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
+  #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
 
   #mq
   rabbitmq:

+ 2 - 2
eureka-server/src/main/java/com/diagbot/EurekaServerApplication.java

@@ -13,8 +13,8 @@ import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
  * @author: gaodm
  * @time: 2018/8/1 14:57
  */
-@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
-        JmxAutoConfiguration.class, ThymeleafAutoConfiguration.class})
+@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
+        JmxAutoConfiguration.class, ThymeleafAutoConfiguration.class })
 @EnableEurekaServer
 public class EurekaServerApplication {
 

+ 2 - 1
eureka-server/src/main/java/com/diagbot/listener/InstanceCancelListener.java

@@ -15,8 +15,9 @@ import org.springframework.context.annotation.Configuration;
 @Configuration
 public class InstanceCancelListener implements ApplicationListener<EurekaInstanceCanceledEvent> {
     private static final Logger logger = LoggerFactory.getLogger(InstanceCancelListener.class);
+
     @Override
     public void onApplicationEvent(EurekaInstanceCanceledEvent event) {
-        logger.info("服务:{}挂了",event.getAppName());
+        logger.info("服务:{}挂了", event.getAppName());
     }
 }

+ 2 - 1
eureka-server/src/main/java/com/diagbot/listener/InstanceRegisterListener.java

@@ -14,8 +14,9 @@ import org.springframework.context.annotation.Configuration;
 @Configuration
 public class InstanceRegisterListener implements ApplicationListener<EurekaInstanceRegisteredEvent> {
     private static final Logger logger = LoggerFactory.getLogger(InstanceRegisterListener.class);
+
     @Override
     public void onApplicationEvent(EurekaInstanceRegisteredEvent eurekaInstanceRegisteredEvent) {
-        logger.info("服务:{},注册成功了",eurekaInstanceRegisteredEvent.getInstanceInfo().getAppName());
+        logger.info("服务:{},注册成功了", eurekaInstanceRegisteredEvent.getInstanceInfo().getAppName());
     }
 }

+ 2 - 1
eureka-server/src/main/java/com/diagbot/listener/InstanceRenewListener.java

@@ -14,8 +14,9 @@ import org.springframework.context.annotation.Configuration;
 @Configuration
 public class InstanceRenewListener implements ApplicationListener<EurekaInstanceRenewedEvent> {
     private static final Logger logger = LoggerFactory.getLogger(InstanceRenewListener.class);
+
     @Override
     public void onApplicationEvent(EurekaInstanceRenewedEvent event) {
-        logger.info("心跳检测服务:{}" ,event.getInstanceInfo().getAppName());
+        logger.info("心跳检测服务:{}", event.getInstanceInfo().getAppName());
     }
 }

+ 70 - 53
eureka-server/src/main/resources/logback-spring.xml

@@ -1,19 +1,24 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
     <!-- 项目名称 -->
-    <property name="APPDIR" value="eureka-server" />
+    <property name="APPDIR" value="eureka-server"/>
     <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
-    <property name="LOG_PATH" value="../logs" />
+    <property name="LOG_PATH" value="../logs"/>
 
     <!-- 彩色日志 -->
     <!-- 彩色日志依赖的渲染类 -->
-    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
-    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
-    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
+    <conversionRule conversionWord="clr"
+                    converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
+    <conversionRule conversionWord="wex"
+                    converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
+    <conversionRule conversionWord="wEx"
+                    converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
     <!-- 彩色日志格式 -->
-    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%logger){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />
+    <property name="CONSOLE_LOG_PATTERN"
+              value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%logger){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
     <!--包名输出缩进对齐-->
-    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />
+    <property name="CONSOLE_LOG_PATTERN"
+              value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
 
     <!--  日志记录器,日期滚动记录
             ERROR 级别
@@ -26,12 +31,14 @@
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/error/${APPDIR}-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/error/${APPDIR}-error-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <maxHistory>30</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-error-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
@@ -39,7 +46,8 @@
         <append>true</append>
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
         </encoder>
         <!-- 此日志文件记录error级别的 -->
@@ -62,12 +70,14 @@
             <!-- 归档的日志文件的路径,例如今天1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/warn/${APPDIR}-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/warn/${APPDIR}-warn-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <maxHistory>15</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-warn-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
@@ -75,7 +85,8 @@
         <append>true</append>
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
         </encoder>
         <!-- 此日志文件只记录warn级别的 -->
@@ -98,12 +109,14 @@
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/info/${APPDIR}-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/info/${APPDIR}-info-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <maxHistory>15</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-info-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
@@ -111,7 +124,8 @@
         <append>true</append>
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
         </encoder>
         <!-- 此日志文件只记录info级别的 -->
@@ -134,12 +148,14 @@
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/debug/${APPDIR}-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/debug/${APPDIR}-debug-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <maxHistory>15</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-debug-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
@@ -147,7 +163,8 @@
         <append>true</append>
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
         </encoder>
         <!-- 此日志文件只记录debug级别的 -->
@@ -175,31 +192,31 @@
 
     <!--&lt;!&ndash;输出到mysql数据库的appender配置     &ndash;&gt;-->
     <!--<appender name="db" class="ch.qos.logback.classic.db.DBAppender">-->
-        <!--<connectionSource-->
-                <!--class="ch.qos.logback.core.db.DriverManagerConnectionSource">-->
-            <!--<driverClass>com.mysql.jdbc.Driver</driverClass>-->
-            <!--<url>jdbc:mysql://120.77.222.42:3306/logback_member?characterEncoding=utf8</url>-->
-            <!--<user>root</user>-->
-            <!--<password>a123456789</password>-->
-        <!--</connectionSource>-->
+    <!--<connectionSource-->
+    <!--class="ch.qos.logback.core.db.DriverManagerConnectionSource">-->
+    <!--<driverClass>com.mysql.jdbc.Driver</driverClass>-->
+    <!--<url>jdbc:mysql://120.77.222.42:3306/logback_member?characterEncoding=utf8</url>-->
+    <!--<user>root</user>-->
+    <!--<password>a123456789</password>-->
+    <!--</connectionSource>-->
     <!--</appender>-->
 
     <!-- FrameworkServlet日志-->
-    <logger name="org.springframework" level="WARN" />
+    <logger name="org.springframework" level="WARN"/>
 
     <!-- mybatis日志打印-->
-    <logger name="org.apache.ibatis" level="DEBUG" />
-    <logger name="java.sql" level="DEBUG" />
+    <logger name="org.apache.ibatis" level="DEBUG"/>
+    <logger name="java.sql" level="DEBUG"/>
 
     <!--  项目 mapper 路径
             console控制台显示sql语句:STDOUT.filter.level -> debug级别
     -->
-    <logger name="com.diagbot.mapper" level="DEBUG" />
+    <logger name="com.diagbot.mapper" level="DEBUG"/>
 
     <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
         <destination>192.168.2.236:5044</destination>
         <!-- encoder必须配置,有多种可选 -->
-        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" >
+        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">
             <customFields>{"appname":"eureka-server"}</customFields>
         </encoder>
     </appender>
@@ -207,49 +224,49 @@
     <!-- 本地环境下的日志配置 -->
     <springProfile name="local">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
             <!-- 生产环境将请stdout去掉 -->
-            <appender-ref ref="STDOUT" />
+            <appender-ref ref="STDOUT"/>
         </root>
     </springProfile>
 
     <!-- 开发环境下的日志配置 -->
     <springProfile name="dev">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
             <!-- 生产环境将请stdout去掉 -->
-            <appender-ref ref="STDOUT" />
-            <appender-ref ref="LOGSTASH" />
+            <appender-ref ref="STDOUT"/>
+            <appender-ref ref="LOGSTASH"/>
         </root>
     </springProfile>
 
     <!-- 测试环境下的日志配置 -->
     <springProfile name="test">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
             <!-- 生产环境将请stdout去掉 -->
-            <appender-ref ref="STDOUT" />
-            <appender-ref ref="LOGSTASH" />
+            <appender-ref ref="STDOUT"/>
+            <appender-ref ref="LOGSTASH"/>
         </root>
     </springProfile>
 
     <!-- 生产环境下的日志配置 -->
     <springProfile name="prod">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
-            <appender-ref ref="LOGSTASH" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
+            <appender-ref ref="LOGSTASH"/>
         </root>
     </springProfile>
 </configuration>

+ 3 - 3
gateway-service/src/main/java/com/diagbot/GatewayServiceApplication.java

@@ -15,10 +15,10 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
  * @author: gaodm
  * @time: 2018/8/1 14:58
  */
-@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
-        JmxAutoConfiguration.class, ThymeleafAutoConfiguration.class})
+@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
+        JmxAutoConfiguration.class, ThymeleafAutoConfiguration.class })
 @EnableEurekaClient
-@EnableFeignClients({"com.diagbot.client"})
+@EnableFeignClients({ "com.diagbot.client" })
 @RefreshScope
 public class GatewayServiceApplication {
 

+ 1 - 1
gateway-service/src/main/java/com/diagbot/client/DiagbotmanServiceClient.java

@@ -16,7 +16,7 @@ import java.util.List;
  * @Author: ztg
  * @Date: 2018/9/18 15:19
  */
-@FeignClient(value = "diagbotman-service",fallback = DiagbotmanServiceHystrix.class )
+@FeignClient(value = "diagbotman-service", fallback = DiagbotmanServiceHystrix.class)
 public interface DiagbotmanServiceClient {
 
     @PostMapping("/service_filter/getAll")

+ 2 - 2
gateway-service/src/main/java/com/diagbot/client/UserServiceClient.java

@@ -13,11 +13,11 @@ import org.springframework.web.bind.annotation.RequestParam;
  * @author: gaodm
  * @time: 2018/8/2 13:37
  */
-@FeignClient(value = "user-service",fallback = UserServiceHystrix.class )
+@FeignClient(value = "user-service", fallback = UserServiceHystrix.class)
 public interface UserServiceClient {
 
     @PostMapping("/user/login")
-    RespDTO<User> login(@RequestParam("username") String username , @RequestParam("password") String password);
+    RespDTO<User> login(@RequestParam("username") String username, @RequestParam("password") String password);
 
 }
 

+ 2 - 2
gateway-service/src/main/java/com/diagbot/client/hystrix/DiagbotmanServiceHystrix.java

@@ -19,13 +19,13 @@ public class DiagbotmanServiceHystrix implements DiagbotmanServiceClient {
 
     @Override
     public RespDTO getAll() {
-        log.error("【hystrix】调用{}异常","getAll");
+        log.error("【hystrix】调用{}异常", "getAll");
         return null;
     }
 
     @Override
     public RespDTO<Boolean> hasPermission(@RequestBody ServiceToken st) {
-        log.error("【hystrix】调用{}异常","hasPermisson");
+        log.error("【hystrix】调用{}异常", "hasPermisson");
         return null;
     }
 }

+ 2 - 2
gateway-service/src/main/java/com/diagbot/client/hystrix/UserServiceHystrix.java

@@ -15,8 +15,8 @@ import org.springframework.stereotype.Component;
 @Slf4j
 public class UserServiceHystrix implements UserServiceClient {
     @Override
-    public RespDTO login(String username , String password) {
-        log.error("【hystrix】调用{}异常","login");
+    public RespDTO login(String username, String password) {
+        log.error("【hystrix】调用{}异常", "login");
         return null;
     }
 }

+ 1 - 1
gateway-service/src/main/java/com/diagbot/dto/RespDTO.java

@@ -7,7 +7,7 @@ import java.io.Serializable;
  * @author: gaodm
  * @time: 2018/8/1 14:55
  */
-public class RespDTO<T> implements Serializable{
+public class RespDTO<T> implements Serializable {
 
     public static final String TRUE_CODE = "0";
     public String code = TRUE_CODE;

+ 3 - 3
gateway-service/src/main/java/com/diagbot/entity/ServiceToken.java

@@ -16,7 +16,7 @@ public class ServiceToken implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-   private String appkey;
-   private String secret;
-   private Long productId;
+    private String appkey;
+    private String secret;
+    private Long productId;
 }

+ 7 - 8
gateway-service/src/main/java/com/diagbot/entity/User.java

@@ -65,23 +65,22 @@ public class User implements Serializable {
      * 邮箱
      */
     private String email;
-    
+
     /**
      * 用户类型
      */
     private Integer type;
 
 
-
     public Integer getType() {
-		return type;
-	}
+        return type;
+    }
 
-	public void setType(Integer type) {
-		this.type = type;
-	}
+    public void setType(Integer type) {
+        this.type = type;
+    }
 
-	public Long getId() {
+    public Long getId() {
         return id;
     }
 

+ 21 - 21
gateway-service/src/main/java/com/diagbot/filter/GlobalGatewayFilter.java

@@ -59,9 +59,9 @@ public class GlobalGatewayFilter implements GlobalFilter {
         String serviceName = "";
         if (requiredAttribute != null) {
             Iterator<URI> iterator = requiredAttribute.iterator();
-            while (iterator.hasNext()){
+            while (iterator.hasNext()) {
                 URI next = iterator.next();
-                if(next.getPath().startsWith(GATE_WAY_PREFIX)){
+                if (next.getPath().startsWith(GATE_WAY_PREFIX)) {
                     requestUri = next.getPath().substring(GATE_WAY_PREFIX.length());
                     serviceName = requestUri.substring(requestUri.indexOf('/') + 1, requestUri.indexOf('/', 2));
                 }
@@ -70,21 +70,21 @@ public class GlobalGatewayFilter implements GlobalFilter {
         log.info("APIURL:{}", requestUri);
         log.info("SERVICENAME:{}", serviceName);
 
-//        if(!IS_GENERATE) {
-//            RespDTO<List<ServiceFilter>> filter = diagbotmanServiceClient.getAll();
-//            if (filter != null){
-//                List<ServiceFilter> list =  filter.data;
-//                if (ListUtil.isNotEmpty(list)){
-//                    for(ServiceFilter bean : list) {
-//                        SERVICE_FILTER.put(bean.getName(), bean.getProductId());
-//                    }
-//                    IS_GENERATE = true;
-//                }
-//            }
-//        }
+        //        if(!IS_GENERATE) {
+        //            RespDTO<List<ServiceFilter>> filter = diagbotmanServiceClient.getAll();
+        //            if (filter != null){
+        //                List<ServiceFilter> list =  filter.data;
+        //                if (ListUtil.isNotEmpty(list)){
+        //                    for(ServiceFilter bean : list) {
+        //                        SERVICE_FILTER.put(bean.getName(), bean.getProductId());
+        //                    }
+        //                    IS_GENERATE = true;
+        //                }
+        //            }
+        //        }
 
         Map<String, Long> serviceFilters = this.dealServiceFilter();
-        if(serviceFilters.get(serviceName) != null) {
+        if (serviceFilters.get(serviceName) != null) {
             String appkey = request.getHeaders().getFirst("appkey");
             String secret = request.getHeaders().getFirst("secret");
             Long productId = SERVICE_FILTER.get(serviceName);
@@ -94,20 +94,19 @@ public class GlobalGatewayFilter implements GlobalFilter {
             st.setSecret(secret);
             st.setProductId(productId);
             RespDTO<Boolean> res = diagbotmanServiceClient.hasPermission(st);
-            if(res == null || !RespDTO.TRUE_CODE.equals(res.code)) {
+            if (res == null || !RespDTO.TRUE_CODE.equals(res.code)) {
                 return getVoidMono(serverWebExchange, res);
             }
         }
 
         ServerHttpRequest.Builder builder = serverWebExchange.getRequest().mutate();
-        builder.header("Authorization","Authorization Bearer token");
+        builder.header("Authorization", "Authorization Bearer token");
         gatewayFilterChain.filter(serverWebExchange.mutate().request(builder.build()).build());
         return gatewayFilterChain.filter(serverWebExchange.mutate().request(builder.build()).build());
     }
 
     /**
      * 网关抛异常
-     *
      */
     private Mono<Void> getVoidMono(ServerWebExchange serverWebExchange, RespDTO res) {
         RespDTO resp = new RespDTO();
@@ -122,14 +121,15 @@ public class GlobalGatewayFilter implements GlobalFilter {
 
     /**
      * 处理需要过滤的列表
+     *
      * @return 过滤的列表
      */
-    private Map<String, Long> dealServiceFilter(){
+    private Map<String, Long> dealServiceFilter() {
         Map<String, Long> serviceFilters = new HashMap<>();
         String[] set = lantonePrduct.split(";");
-        for (String s: set){
+        for (String s : set) {
             String[] d = s.split(",");
-            serviceFilters.put(d[0],Long.valueOf(d[1]));
+            serviceFilters.put(d[0], Long.valueOf(d[1]));
         }
         return serviceFilters;
     }

+ 6 - 6
log-service/src/main/java/com/diagbot/LogServiceApplication.java

@@ -18,17 +18,17 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
  * @author: gaodm
  * @time: 2018/8/1 15:00
  */
-@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
-		JmxAutoConfiguration.class, ThymeleafAutoConfiguration.class})
+@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
+        JmxAutoConfiguration.class, ThymeleafAutoConfiguration.class })
 @EnableEurekaClient
-@EnableFeignClients({"com.diagbot.client"})
+@EnableFeignClients({ "com.diagbot.client" })
 @EnableHystrix
 @EnableHystrixDashboard
 @EnableCircuitBreaker
 @RefreshScope
 public class LogServiceApplication {
 
-	public static void main(String[] args) {
-		SpringApplication.run(LogServiceApplication.class, args);
-	}
+    public static void main(String[] args) {
+        SpringApplication.run(LogServiceApplication.class, args);
+    }
 }

+ 6 - 6
log-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java

@@ -42,7 +42,7 @@ public class SysLoggerAspect {
 
         SysLog sysLog = new SysLog();
         SysLogger sysLogger = method.getAnnotation(SysLogger.class);
-        if(sysLogger != null){
+        if (sysLogger != null) {
             //注解上的描述
             sysLog.setOperation(sysLogger.value());
         }
@@ -52,18 +52,18 @@ public class SysLoggerAspect {
         sysLog.setMethod(className + "." + methodName + "()");
         //请求的参数
         Object[] args = joinPoint.getArgs();
-        String params="";
-        for(Object o:args){
-            params+=GsonUtil.toJson(o);
+        String params = "";
+        for (Object o : args) {
+            params += GsonUtil.toJson(o);
         }
-        if(!StringUtil.isEmpty(params)) {
+        if (!StringUtil.isEmpty(params)) {
             sysLog.setParams(params);
         }
         //设置IP地址
         sysLog.setIp(HttpUtils.getIpAddress());
         //用户名
         String username = UserUtils.getCurrentPrinciple();
-        if(!StringUtil.isEmpty(username)) {
+        if (!StringUtil.isEmpty(username)) {
             sysLog.setUsername(username);
         }
         sysLog.setGmtCreate(new Date());

+ 1 - 1
log-service/src/main/java/com/diagbot/client/UserServiceClient.java

@@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RequestHeader;
  * @author: gaodm
  * @time: 2018/8/6 9:52
  */
-@FeignClient(value = "user-service",fallback = UserServiceHystrix.class )
+@FeignClient(value = "user-service", fallback = UserServiceHystrix.class)
 public interface UserServiceClient {
 
     @PostMapping(value = "/user/{username}")

+ 2 - 2
log-service/src/main/java/com/diagbot/config/JwtConfigurer.java

@@ -33,9 +33,9 @@ public class JwtConfigurer {
 
     @Bean
     protected JwtAccessTokenConverter jwtTokenEnhancer() {
-        JwtAccessTokenConverter converter =  new JwtAccessTokenConverter();
+        JwtAccessTokenConverter converter = new JwtAccessTokenConverter();
         Resource resource = new ClassPathResource("public.cert");
-        String publicKey ;
+        String publicKey;
         try {
             publicKey = new String(FileCopyUtils.copyToByteArray(resource.getInputStream()));
         } catch (IOException e) {

+ 2 - 2
log-service/src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -25,9 +25,9 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
         http
                 .csrf().disable()
                 .authorizeRequests()
-                .regexMatchers(".*swagger.*",".*v2.*",".*webjars.*","/druid.*","/actuator.*","/hystrix.*").permitAll()
+                .regexMatchers(".*swagger.*", ".*v2.*", ".*webjars.*", "/druid.*", "/actuator.*", "/hystrix.*").permitAll()
                 .antMatchers("/**").authenticated();
-//        .antMatchers("/**").permitAll();
+        //        .antMatchers("/**").permitAll();
     }
 
 

+ 3 - 3
log-service/src/main/java/com/diagbot/config/SwaggerConfigurer.java

@@ -25,7 +25,7 @@ import java.util.List;
  * @time: 2018/8/2 14:21
  */
 @Configuration
-@ConditionalOnProperty(prefix = "swagger", value = {"enable"}, havingValue = "true")
+@ConditionalOnProperty(prefix = "swagger", value = { "enable" }, havingValue = "true")
 @EnableSwagger2
 public class SwaggerConfigurer {
     /**
@@ -52,8 +52,8 @@ public class SwaggerConfigurer {
                 .apis(RequestHandlerSelectors.basePackage("com.diagbot.web"))
                 .paths(PathSelectors.any())
                 .build().globalOperationParameters(parameter());
-                //.securitySchemes(newArrayList(oauth()))
-               // .securityContexts(newArrayList(securityContext()));
+        //.securitySchemes(newArrayList(oauth()))
+        // .securityContexts(newArrayList(securityContext()));
     }
 
     private ApiInfo apiInfo() {

+ 2 - 2
log-service/src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -25,7 +25,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
     public void decide(Authentication authentication, Object object, Collection<ConfigAttribute> configAttributes) throws AccessDeniedException, InsufficientAuthenticationException {
         HttpServletRequest request = ((FilterInvocation) object).getHttpRequest();
         String url, method;
-        if ("anonymousUser".equals(authentication.getPrincipal())){
+        if ("anonymousUser".equals(authentication.getPrincipal())) {
             if (matchers("/swagger/**", request)
                     || matchers("/v2/**", request)
                     || matchers("/swagger-ui.html/**", request)
@@ -34,7 +34,7 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                     || matchers("/druid/**", request)
                     || matchers("/actuator/**", request)
                     || matchers("/hystrix/**", request)
-                    || matchers("/", request)){
+                    || matchers("/", request)) {
                 return;
             } else {
                 throw new AccessDeniedException("no right");

+ 14 - 13
log-service/src/main/java/com/diagbot/entity/SysLog.java

@@ -2,6 +2,7 @@ package com.diagbot.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+
 import java.time.LocalDateTime;
 import java.io.Serializable;
 import java.util.Date;
@@ -179,18 +180,18 @@ public class SysLog implements Serializable {
     @Override
     public String toString() {
         return "SysLog{" +
-        "id=" + id +
-        ", isDeleted=" + isDeleted +
-        ", gmtCreate=" + gmtCreate +
-        ", gmtModified=" + gmtModified +
-        ", creator=" + creator +
-        ", modifier=" + modifier +
-        ", ip=" + ip +
-        ", sysType=" + sysType +
-        ", method=" + method +
-        ", operation=" + operation +
-        ", params=" + params +
-        ", username=" + username +
-        "}";
+                "id=" + id +
+                ", isDeleted=" + isDeleted +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModified=" + gmtModified +
+                ", creator=" + creator +
+                ", modifier=" + modifier +
+                ", ip=" + ip +
+                ", sysType=" + sysType +
+                ", method=" + method +
+                ", operation=" + operation +
+                ", params=" + params +
+                ", username=" + username +
+                "}";
     }
 }

+ 9 - 9
log-service/src/main/java/com/diagbot/entity/User.java

@@ -129,14 +129,14 @@ public class User implements Serializable {
     @Override
     public String toString() {
         return "User{" +
-        "id=" + id +
-        ", isDeleted=" + isDeleted +
-        ", gmtCreate=" + gmtCreate +
-        ", gmtModified=" + gmtModified +
-        ", creator=" + creator +
-        ", modifier=" + modifier +
-        ", password=" + password +
-        ", username=" + username +
-        "}";
+                "id=" + id +
+                ", isDeleted=" + isDeleted +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModified=" + gmtModified +
+                ", creator=" + creator +
+                ", modifier=" + modifier +
+                ", password=" + password +
+                ", username=" + username +
+                "}";
     }
 }

+ 4 - 4
log-service/src/main/java/com/diagbot/exception/CommonExceptionHandler.java

@@ -30,7 +30,7 @@ public class CommonExceptionHandler {
     @ExceptionHandler(Exception.class)
     public ResponseEntity<RespDTO> handleException(Exception e) {
         RespDTO resp = new RespDTO();
-        if(e instanceof BindException) {
+        if (e instanceof BindException) {
             BindException ex = (BindException) e;
             Map<String, String> stringMap = new HashMap<>();
             for (FieldError fieldError : ex.getBindingResult().getFieldErrors()) {
@@ -42,7 +42,7 @@ public class CommonExceptionHandler {
             resp.msg = msg;
             return new ResponseEntity(resp, HttpStatus.OK);
         }
-        if(e instanceof MethodArgumentNotValidException) {
+        if (e instanceof MethodArgumentNotValidException) {
             MethodArgumentNotValidException ex = (MethodArgumentNotValidException) e;
             Map<String, String> stringMap = new HashMap<>();
             for (FieldError fieldError : ex.getBindingResult().getFieldErrors()) {
@@ -54,7 +54,7 @@ public class CommonExceptionHandler {
             resp.msg = msg;
             return new ResponseEntity(resp, HttpStatus.OK);
         }
-        if(e instanceof MissingServletRequestParameterException) {
+        if (e instanceof MissingServletRequestParameterException) {
             MissingServletRequestParameterException ex = (MissingServletRequestParameterException) e;
             Map<String, String> stringMap = new HashMap<>();
             stringMap.put(ex.getParameterName(), "不能为null");
@@ -64,7 +64,7 @@ public class CommonExceptionHandler {
             resp.msg = msg;
             return new ResponseEntity(resp, HttpStatus.OK);
         }
-        if(e instanceof CommonException) {
+        if (e instanceof CommonException) {
             CommonException taiChiException = (CommonException) e;
             resp.code = taiChiException.getCode();
             resp.msg = e.getMessage();

+ 3 - 3
log-service/src/main/java/com/diagbot/exception/ServiceErrorCode.java

@@ -2,13 +2,13 @@ package com.diagbot.exception;
 
 /**
  * @Description: 本服务错误码
- *      系统码(3位) + 等级码(1位) + 4位顺序号
- *      系统码 通用码 000;用户中心 100; 管理中心 200;
+ * 系统码(3位) + 等级码(1位) + 4位顺序号
+ * 系统码 通用码 000;用户中心 100; 管理中心 200;
  * @author: gaodm
  * @time: 2018/9/10 11:11
  */
 public enum ServiceErrorCode implements ErrorCode {
-    LOG_IS_NOT_EXIST("90020001","该日志不存在");
+    LOG_IS_NOT_EXIST("90020001", "该日志不存在");
 
     private String code;
     private String msg;

+ 1 - 1
log-service/src/main/java/com/diagbot/mapper/SysLogMapper.java

@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 /**
  * <p>
- *  Mapper 接口
+ * Mapper 接口
  * </p>
  *
  * @author gaodm

+ 4 - 3
log-service/src/main/java/com/diagbot/rabbit/MyReceiver.java

@@ -12,14 +12,15 @@ import org.springframework.cloud.stream.annotation.StreamListener;
  * @author: gaodm
  * @time: 2018/8/29 14:02
  */
-@EnableBinding({MyProcessor.class})
+@EnableBinding({ MyProcessor.class })
 public class MyReceiver {
     @Autowired
     SysLogFacade sysLogFacade;
+
     @StreamListener(MyProcessor.INPUT_LOG)
-    public void inputLog (String message) {
+    public void inputLog(String message) {
         System.out.println("Received <" + message + ">");
-        SysLog sysLog=  GsonUtil.toObject(message, SysLog.class);
+        SysLog sysLog = GsonUtil.toObject(message, SysLog.class);
         sysLogFacade.save(sysLog);
     }
 }

+ 2 - 2
log-service/src/main/java/com/diagbot/rabbit/MySender.java

@@ -15,13 +15,13 @@ import org.springframework.stereotype.Component;
  * @time: 2018/8/29 13:41
  */
 @Component
-@EnableBinding({MyProcessor.class})
+@EnableBinding({ MyProcessor.class })
 public class MySender {
     @Autowired
     @Qualifier("outputLog")
     MessageChannel outputLog;
 
-    public void outputLogSend(SysLog sysLog){
+    public void outputLogSend(SysLog sysLog) {
         outputLog.send(MessageBuilder.withPayload(GsonUtil.toJson(sysLog)).build());
     }
 }

+ 1 - 1
log-service/src/main/java/com/diagbot/service/SysLogService.java

@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 
 /**
  * <p>
- *  服务类
+ * 服务类
  * </p>
  *
  * @author gaodm

+ 1 - 1
log-service/src/main/java/com/diagbot/service/impl/SysLogServiceImpl.java

@@ -8,7 +8,7 @@ import org.springframework.stereotype.Service;
 
 /**
  * <p>
- *  服务实现类
+ * 服务实现类
  * </p>
  *
  * @author gaodm

+ 11 - 7
log-service/src/main/java/com/diagbot/web/SysLogController.java

@@ -45,7 +45,7 @@ public class SysLogController {
     @ApiOperation(value = "添加日志(示例)[by:gaodm]", notes = "添加日志")
     @PostMapping("/add")
     @SysLogger("postLog")
-    public RespDTO add(@RequestBody SysLogVo sysLogVo){
+    public RespDTO add(@RequestBody SysLogVo sysLogVo) {
         //初始化新增日志信息
         SysLog sysLog = new SysLog();
         sysLog.setGmtCreate(new Date());
@@ -53,47 +53,51 @@ public class SysLogController {
         sysLog.setMethod(sysLogVo.getMethod());
         sysLog.setOperation(sysLogVo.getOperation());
         sysLog.setParams(sysLogVo.getParams());
-        return RespDTO.onSuc(sysLogFacade.save(sysLog)?"添加成功":"添加失败");
+        return RespDTO.onSuc(sysLogFacade.save(sysLog) ? "添加成功" : "添加失败");
     }
 
     /**
      * 删除日志
+     *
      * @param id 日志信息ID
      * @return 删除是否成功
      */
     @ApiOperation(value = "删除日志(示例)[by:gaodm]", notes = "删除日志")
     @DeleteMapping("/delete/{id}")
     @SysLogger("deleteLog")
-    public RespDTO delete(@PathVariable(value = "id") Integer id){
-        return RespDTO.onSuc(sysLogFacade.removeById(id)?"删除成功":"删除失败");
+    public RespDTO delete(@PathVariable(value = "id") Integer id) {
+        return RespDTO.onSuc(sysLogFacade.removeById(id) ? "删除成功" : "删除失败");
     }
 
     /**
      * 修改日志
+     *
      * @param sysLog 修改日志输入参数
      * @return 修改是否成功
      */
     @ApiOperation(value = "修改日志(示例)[by:gaodm]", notes = "修改日志")
     @PostMapping("/update")
     @SysLogger("updateLog")
-    public RespDTO update(@RequestBody SysLog sysLog){
-        return RespDTO.onSuc(sysLogFacade.updateById(sysLog)?"修改成功":"修改失败");
+    public RespDTO update(@RequestBody SysLog sysLog) {
+        return RespDTO.onSuc(sysLogFacade.updateById(sysLog) ? "修改成功" : "修改失败");
     }
 
     /**
      * 获取日志列表
+     *
      * @return 日志列信息
      */
     @ApiOperation(value = "获取日志列表(示例)[by:gaodm]", notes = "获取日志列表")
     @GetMapping("/list")
     @SysLogger("listLog")
-    public RespDTO list(){
+    public RespDTO list() {
         Wrapper<SysLog> wrapper = new QueryWrapper<>();
         return RespDTO.onSuc(sysLogFacade.list(wrapper));
     }
 
     /**
      * 获取日志翻页信息
+     *
      * @return 日志翻页信息
      */
     @ApiOperation(value = "获取日志翻页信息(示例)[by:gaodm]", notes = "获取日志翻页信息")

+ 2 - 2
log-service/src/main/resources/bootstrap.yml

@@ -3,13 +3,13 @@ spring:
     name: logger-service
   cloud:
     config:
-#      uri: http://${myuri}:8769
+      #uri: http://${myuri}:8769
       fail-fast: true
       discovery:
         enabled: true
         serviceId: config-server
   profiles:
-      active: local
+    active: local
 
 eureka:
   client:

+ 70 - 53
log-service/src/main/resources/logback-spring.xml

@@ -1,19 +1,24 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
     <!-- 项目名称 -->
-    <property name="APPDIR" value="log-service" />
+    <property name="APPDIR" value="log-service"/>
     <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
-    <property name="LOG_PATH" value="../logs" />
+    <property name="LOG_PATH" value="../logs"/>
 
     <!-- 彩色日志 -->
     <!-- 彩色日志依赖的渲染类 -->
-    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
-    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
-    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
+    <conversionRule conversionWord="clr"
+                    converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
+    <conversionRule conversionWord="wex"
+                    converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
+    <conversionRule conversionWord="wEx"
+                    converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
     <!-- 彩色日志格式 -->
-    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%logger){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />
+    <property name="CONSOLE_LOG_PATTERN"
+              value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%logger){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
     <!--包名输出缩进对齐-->
-    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />
+    <property name="CONSOLE_LOG_PATTERN"
+              value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
 
     <!--  日志记录器,日期滚动记录
             ERROR 级别
@@ -26,12 +31,14 @@
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/error/${APPDIR}-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/error/${APPDIR}-error-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <maxHistory>30</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-error-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
@@ -39,7 +46,8 @@
         <append>true</append>
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
         </encoder>
         <!-- 此日志文件记录error级别的 -->
@@ -62,12 +70,14 @@
             <!-- 归档的日志文件的路径,例如今天1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/warn/${APPDIR}-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/warn/${APPDIR}-warn-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <maxHistory>15</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-warn-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
@@ -75,7 +85,8 @@
         <append>true</append>
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
         </encoder>
         <!-- 此日志文件只记录warn级别的 -->
@@ -98,12 +109,14 @@
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/info/${APPDIR}-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/info/${APPDIR}-info-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <maxHistory>15</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-info-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
@@ -111,7 +124,8 @@
         <append>true</append>
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
         </encoder>
         <!-- 此日志文件只记录info级别的 -->
@@ -134,12 +148,14 @@
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/debug/${APPDIR}-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/debug/${APPDIR}-debug-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <maxHistory>15</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-debug-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
@@ -147,7 +163,8 @@
         <append>true</append>
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
         </encoder>
         <!-- 此日志文件只记录debug级别的 -->
@@ -175,31 +192,31 @@
 
     <!--&lt;!&ndash;输出到mysql数据库的appender配置     &ndash;&gt;-->
     <!--<appender name="db" class="ch.qos.logback.classic.db.DBAppender">-->
-        <!--<connectionSource-->
-                <!--class="ch.qos.logback.core.db.DriverManagerConnectionSource">-->
-            <!--<driverClass>com.mysql.jdbc.Driver</driverClass>-->
-            <!--<url>jdbc:mysql://120.77.222.42:3306/logback_member?characterEncoding=utf8</url>-->
-            <!--<user>root</user>-->
-            <!--<password>a123456789</password>-->
-        <!--</connectionSource>-->
+    <!--<connectionSource-->
+    <!--class="ch.qos.logback.core.db.DriverManagerConnectionSource">-->
+    <!--<driverClass>com.mysql.jdbc.Driver</driverClass>-->
+    <!--<url>jdbc:mysql://120.77.222.42:3306/logback_member?characterEncoding=utf8</url>-->
+    <!--<user>root</user>-->
+    <!--<password>a123456789</password>-->
+    <!--</connectionSource>-->
     <!--</appender>-->
 
     <!-- FrameworkServlet日志-->
-    <logger name="org.springframework" level="WARN" />
+    <logger name="org.springframework" level="WARN"/>
 
     <!-- mybatis日志打印-->
-    <logger name="org.apache.ibatis" level="DEBUG" />
-    <logger name="java.sql" level="DEBUG" />
+    <logger name="org.apache.ibatis" level="DEBUG"/>
+    <logger name="java.sql" level="DEBUG"/>
 
     <!--  项目 mapper 路径
             console控制台显示sql语句:STDOUT.filter.level -> debug级别
     -->
-    <logger name="com.diagbot.mapper" level="DEBUG" />
+    <logger name="com.diagbot.mapper" level="DEBUG"/>
 
     <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
         <destination>192.168.2.236:5044</destination>
         <!-- encoder必须配置,有多种可选 -->
-        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" >
+        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">
             <customFields>{"appname":"log-service"}</customFields>
         </encoder>
     </appender>
@@ -207,49 +224,49 @@
     <!-- 本地环境下的日志配置 -->
     <springProfile name="local">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
             <!-- 生产环境将请stdout去掉 -->
-            <appender-ref ref="STDOUT" />
+            <appender-ref ref="STDOUT"/>
         </root>
     </springProfile>
 
     <!-- 开发环境下的日志配置 -->
     <springProfile name="dev">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
             <!-- 生产环境将请stdout去掉 -->
-            <appender-ref ref="STDOUT" />
-            <appender-ref ref="LOGSTASH" />
+            <appender-ref ref="STDOUT"/>
+            <appender-ref ref="LOGSTASH"/>
         </root>
     </springProfile>
 
     <!-- 测试环境下的日志配置 -->
     <springProfile name="test">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
             <!-- 生产环境将请stdout去掉 -->
-            <appender-ref ref="STDOUT" />
-            <appender-ref ref="LOGSTASH" />
+            <appender-ref ref="STDOUT"/>
+            <appender-ref ref="LOGSTASH"/>
         </root>
     </springProfile>
 
     <!-- 生产环境下的日志配置 -->
     <springProfile name="prod">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
-            <appender-ref ref="LOGSTASH" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
+            <appender-ref ref="LOGSTASH"/>
         </root>
     </springProfile>
 </configuration>

+ 14 - 13
log-service/src/main/resources/mapper/SysLogMapper.xml

@@ -1,21 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.diagbot.mapper.SysLogMapper">
 
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.diagbot.entity.SysLog">
-        <id column="id" property="id" />
-        <result column="is_deleted" property="isDeleted" />
-        <result column="gmt_create" property="gmtCreate" />
-        <result column="gmt_modified" property="gmtModified" />
-        <result column="creator" property="creator" />
-        <result column="modifier" property="modifier" />
-        <result column="ip" property="ip" />
-        <result column="sys_type" property="sysType" />
-        <result column="method" property="method" />
-        <result column="operation" property="operation" />
-        <result column="params" property="params" />
-        <result column="username" property="username" />
+        <id column="id" property="id"/>
+        <result column="is_deleted" property="isDeleted"/>
+        <result column="gmt_create" property="gmtCreate"/>
+        <result column="gmt_modified" property="gmtModified"/>
+        <result column="creator" property="creator"/>
+        <result column="modifier" property="modifier"/>
+        <result column="ip" property="ip"/>
+        <result column="sys_type" property="sysType"/>
+        <result column="method" property="method"/>
+        <result column="operation" property="operation"/>
+        <result column="params" property="params"/>
+        <result column="username" property="username"/>
     </resultMap>
 
 </mapper>

+ 2 - 2
monitor-service/src/main/java/com/diagbot/MonitorServiceApplication.java

@@ -12,8 +12,8 @@ import org.springframework.cloud.netflix.hystrix.EnableHystrix;
 import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
 import org.springframework.cloud.netflix.turbine.EnableTurbine;
 
-@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
-        JmxAutoConfiguration.class, ThymeleafAutoConfiguration.class})
+@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
+        JmxAutoConfiguration.class, ThymeleafAutoConfiguration.class })
 @EnableTurbine
 @EnableHystrixDashboard
 @EnableHystrix

+ 2 - 2
monitor-service/src/main/resources/bootstrap.yml

@@ -3,13 +3,13 @@ spring:
     name: monitor-service
   cloud:
     config:
-#      uri: http://${myuri}:8769
+      #uri: http://${myuri}:8769
       fail-fast: true
       discovery:
         enabled: true
         serviceId: config-server
   profiles:
-      active: local
+    active: local
 
 eureka:
   client:

+ 70 - 53
monitor-service/src/main/resources/logback-spring.xml

@@ -1,19 +1,24 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
     <!-- 项目名称 -->
-    <property name="APPDIR" value="monitor-service" />
+    <property name="APPDIR" value="monitor-service"/>
     <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
-    <property name="LOG_PATH" value="../logs" />
+    <property name="LOG_PATH" value="../logs"/>
 
     <!-- 彩色日志 -->
     <!-- 彩色日志依赖的渲染类 -->
-    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
-    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
-    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
+    <conversionRule conversionWord="clr"
+                    converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
+    <conversionRule conversionWord="wex"
+                    converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
+    <conversionRule conversionWord="wEx"
+                    converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
     <!-- 彩色日志格式 -->
-    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%logger){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />
+    <property name="CONSOLE_LOG_PATTERN"
+              value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%logger){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
     <!--包名输出缩进对齐-->
-    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" />
+    <property name="CONSOLE_LOG_PATTERN"
+              value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
 
     <!--  日志记录器,日期滚动记录
             ERROR 级别
@@ -26,12 +31,14 @@
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/error/${APPDIR}-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/error/${APPDIR}-error-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <maxHistory>30</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-error-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
@@ -39,7 +46,8 @@
         <append>true</append>
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
         </encoder>
         <!-- 此日志文件记录error级别的 -->
@@ -62,12 +70,14 @@
             <!-- 归档的日志文件的路径,例如今天1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/warn/${APPDIR}-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/warn/${APPDIR}-warn-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <maxHistory>15</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-warn-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
@@ -75,7 +85,8 @@
         <append>true</append>
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
         </encoder>
         <!-- 此日志文件只记录warn级别的 -->
@@ -98,12 +109,14 @@
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/info/${APPDIR}-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/info/${APPDIR}-info-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <maxHistory>15</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-info-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
@@ -111,7 +124,8 @@
         <append>true</append>
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
         </encoder>
         <!-- 此日志文件只记录info级别的 -->
@@ -134,12 +148,14 @@
             <!-- 归档的日志文件的路径,例如今天是1992-11-06日志,当前写的日志文件路径为file节点指定,
             可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
             而1992-11-06的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
-            <fileNamePattern>${LOG_PATH}/${APPDIR}/debug/${APPDIR}-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${LOG_PATH}/${APPDIR}/debug/${APPDIR}-debug-%d{yyyy-MM-dd}.%i.log
+            </fileNamePattern>
             <!--  保留日志天数 -->
             <maxHistory>15</maxHistory>
             <!-- 除按日志记录之外,还配置了日志文件不能超过10MB,若超过10MB,日志文件会以索引0开始,
             命名日志文件,例如log-debug-1992-11-06.0.log -->
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+            <timeBasedFileNamingAndTriggeringPolicy
+                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                 <maxFileSize>10MB</maxFileSize>
             </timeBasedFileNamingAndTriggeringPolicy>
         </rollingPolicy>
@@ -147,7 +163,8 @@
         <append>true</append>
         <!-- 日志文件的格式 -->
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n</pattern>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- [%thread] %logger Line:%-3L - %msg%n
+            </pattern>
             <charset>utf-8</charset>
         </encoder>
         <!-- 此日志文件只记录debug级别的 -->
@@ -175,31 +192,31 @@
 
     <!--&lt;!&ndash;输出到mysql数据库的appender配置     &ndash;&gt;-->
     <!--<appender name="db" class="ch.qos.logback.classic.db.DBAppender">-->
-        <!--<connectionSource-->
-                <!--class="ch.qos.logback.core.db.DriverManagerConnectionSource">-->
-            <!--<driverClass>com.mysql.jdbc.Driver</driverClass>-->
-            <!--<url>jdbc:mysql://120.77.222.42:3306/logback_member?characterEncoding=utf8</url>-->
-            <!--<user>root</user>-->
-            <!--<password>a123456789</password>-->
-        <!--</connectionSource>-->
+    <!--<connectionSource-->
+    <!--class="ch.qos.logback.core.db.DriverManagerConnectionSource">-->
+    <!--<driverClass>com.mysql.jdbc.Driver</driverClass>-->
+    <!--<url>jdbc:mysql://120.77.222.42:3306/logback_member?characterEncoding=utf8</url>-->
+    <!--<user>root</user>-->
+    <!--<password>a123456789</password>-->
+    <!--</connectionSource>-->
     <!--</appender>-->
 
     <!-- FrameworkServlet日志-->
-    <logger name="org.springframework" level="WARN" />
+    <logger name="org.springframework" level="WARN"/>
 
     <!-- mybatis日志打印-->
-    <logger name="org.apache.ibatis" level="DEBUG" />
-    <logger name="java.sql" level="DEBUG" />
+    <logger name="org.apache.ibatis" level="DEBUG"/>
+    <logger name="java.sql" level="DEBUG"/>
 
     <!--  项目 mapper 路径
             console控制台显示sql语句:STDOUT.filter.level -> debug级别
     -->
-    <logger name="com.diagbot.mapper" level="DEBUG" />
+    <logger name="com.diagbot.mapper" level="DEBUG"/>
 
     <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
         <destination>192.168.2.236:5044</destination>
         <!-- encoder必须配置,有多种可选 -->
-        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" >
+        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">
             <customFields>{"appname":"monitor-service"}</customFields>
         </encoder>
     </appender>
@@ -207,49 +224,49 @@
     <!-- 本地环境下的日志配置 -->
     <springProfile name="local">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
             <!-- 生产环境将请stdout去掉 -->
-            <appender-ref ref="STDOUT" />
+            <appender-ref ref="STDOUT"/>
         </root>
     </springProfile>
 
     <!-- 开发环境下的日志配置 -->
     <springProfile name="dev">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
             <!-- 生产环境将请stdout去掉 -->
-            <appender-ref ref="STDOUT" />
-            <appender-ref ref="LOGSTASH" />
+            <appender-ref ref="STDOUT"/>
+            <appender-ref ref="LOGSTASH"/>
         </root>
     </springProfile>
 
     <!-- 测试环境下的日志配置 -->
     <springProfile name="test">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
             <!-- 生产环境将请stdout去掉 -->
-            <appender-ref ref="STDOUT" />
-            <appender-ref ref="LOGSTASH" />
+            <appender-ref ref="STDOUT"/>
+            <appender-ref ref="LOGSTASH"/>
         </root>
     </springProfile>
 
     <!-- 生产环境下的日志配置 -->
     <springProfile name="prod">
         <root level="INFO">
-            <appender-ref ref="ERROR" />
-            <appender-ref ref="WARN" />
-            <appender-ref ref="INFO" />
-            <appender-ref ref="DEBUG" />
-            <appender-ref ref="LOGSTASH" />
+            <appender-ref ref="ERROR"/>
+            <appender-ref ref="WARN"/>
+            <appender-ref ref="INFO"/>
+            <appender-ref ref="DEBUG"/>
+            <appender-ref ref="LOGSTASH"/>
         </root>
     </springProfile>
 </configuration>