Explorar el Código

fix: 修改配置

xuefei hace 5 años
padre
commit
f234a080b7

+ 19 - 5
febs-common/febs-common-logging-starter/src/main/java/cc/mrbird/febs/common/logging/starter/configure/FebsLogAutoConfigure.java

@@ -1,8 +1,15 @@
 package cc.mrbird.febs.common.logging.starter.configure;
 
 import cc.mrbird.febs.common.logging.starter.properties.FebsLogProperties;
+import ch.qos.logback.classic.Level;
 import ch.qos.logback.classic.Logger;
 import ch.qos.logback.classic.LoggerContext;
+import ch.qos.logback.classic.encoder.PatternLayoutEncoder;
+import ch.qos.logback.classic.filter.LevelFilter;
+import ch.qos.logback.classic.spi.ILoggingEvent;
+import ch.qos.logback.core.rolling.RollingFileAppender;
+import ch.qos.logback.core.rolling.TimeBasedRollingPolicy;
+import ch.qos.logback.core.spi.FilterReply;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import net.logstash.logback.appender.LogstashTcpSocketAppender;
@@ -13,6 +20,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.core.annotation.Order;
 
 import java.util.HashMap;
 
@@ -31,16 +39,22 @@ public class FebsLogAutoConfigure {
         this.properties = properties;
     }
 
+    private static final LoggerContext context;
+    private static final Logger rootLogger;
+
+    static{
+        context = (LoggerContext) LoggerFactory.getILoggerFactory();
+        rootLogger = context.getLogger("ROOT");
+    }
+
     @ConditionalOnProperty(name = "febs.log.enable-elk", havingValue = "true", matchIfMissing = true)
     @Bean
     public void enableElk() throws JsonProcessingException {
-        LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
-        Logger logger = context.getLogger("ROOT");
         LogstashTcpSocketAppender appender = new LogstashTcpSocketAppender();
         LogstashEncoder encoder = new LogstashEncoder();
 
         HashMap<String, String> customFields = new HashMap<>();
-        customFields.put("application-name",applicationName);
+        customFields.put("application-name", applicationName);
         String customFieldsString = new ObjectMapper().writeValueAsString(customFields);
         encoder.setCustomFields(customFieldsString);
 
@@ -48,7 +62,7 @@ public class FebsLogAutoConfigure {
         appender.addDestination(properties.getLogstashHost());
         appender.setName("logstash[" + applicationName + "]");
         appender.start();
-
-        logger.addAppender(appender);
+        appender.setContext(context);
+        rootLogger.addAppender(appender);
     }
 }

+ 1 - 1
febs-common/febs-common-logging-starter/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="60 seconds" debug="false">
     <springProperty scope="context" name="springAppName" source="spring.application.name"/>
-    <property name="log.path" value="log/febs-server-system"/>
+    <property name="log.path" value="log/${springAppName}"/>
     <property name="log.maxHistory" value="15"/>
     <property name="log.colorPattern"
               value="%magenta(%d{yyyy-MM-dd HH:mm:ss}) %highlight(%-5level) %boldCyan(${springAppName:-}) %yellow(%thread) %green(%logger) %msg%n"/>

+ 0 - 5
febs-gateway/pom.xml

@@ -56,11 +56,6 @@
             <artifactId>febs-common-logging-starter</artifactId>
             <version>${febs-cloud.version}</version>
         </dependency>
-        <dependency>
-            <groupId>net.logstash.logback</groupId>
-            <artifactId>logstash-logback-encoder</artifactId>
-            <version>${logstash-logback-encoder.version}</version>
-        </dependency>
         <dependency>
             <groupId>org.springframework.cloud</groupId>
             <artifactId>spring-cloud-starter-gateway</artifactId>