diff --git a/pom.xml b/pom.xml
index 1f09f57d..31c14754 100644
--- a/pom.xml
+++ b/pom.xml
@@ -151,6 +151,10 @@
log4j
log4j
+
+ com.netflix.blitz4j
+ blitz4j
+
@@ -163,7 +167,7 @@
com.netflix.blitz4j
blitz4j
- 1.34
+ 1.36.0
com.netflix.feign
diff --git a/spring-cloud-netflix-eureka-server/pom.xml b/spring-cloud-netflix-eureka-server/pom.xml
index a7f02e1a..cf286440 100644
--- a/spring-cloud-netflix-eureka-server/pom.xml
+++ b/spring-cloud-netflix-eureka-server/pom.xml
@@ -20,16 +20,6 @@
org.springframework.boot
spring-boot-starter-web
-
-
- spring-boot-starter-logging
- org.springframework.boot
-
-
-
-
- org.springframework.boot
- spring-boot-starter-log4j
org.springframework.boot
@@ -38,12 +28,6 @@
org.springframework.boot
spring-boot-starter-freemarker
-
-
- spring-boot-starter-logging
- org.springframework.boot
-
-
org.springframework.cloud
@@ -57,6 +41,10 @@
com.netflix.eureka
eureka-client
+
+ com.netflix.blitz4j
+ blitz4j
+
com.sun.jersey
jersey-servlet
@@ -69,16 +57,22 @@
com.netflix.eureka
eureka-core
+
+
+ blitz4j
+ com.netflix.blitz4j
+
+
+
+
+ com.netflix.archaius
+ archaius-core
com.thoughtworks.xstream
xstream
-
- com.netflix.blitz4j
- blitz4j
-
org.projectlombok
lombok
diff --git a/spring-cloud-netflix-eureka-server/src/main/java/org/springframework/cloud/netflix/eureka/server/EurekaServerInitializerConfiguration.java b/spring-cloud-netflix-eureka-server/src/main/java/org/springframework/cloud/netflix/eureka/server/EurekaServerInitializerConfiguration.java
index 3b621f15..f9d332ea 100644
--- a/spring-cloud-netflix-eureka-server/src/main/java/org/springframework/cloud/netflix/eureka/server/EurekaServerInitializerConfiguration.java
+++ b/spring-cloud-netflix-eureka-server/src/main/java/org/springframework/cloud/netflix/eureka/server/EurekaServerInitializerConfiguration.java
@@ -20,7 +20,9 @@ import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
+import java.util.Properties;
+import javax.annotation.PostConstruct;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
@@ -33,6 +35,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.logging.LoggingSystem;
import org.springframework.boot.logging.log4j.Log4JLoggingSystem;
import org.springframework.cloud.netflix.eureka.DataCenterAwareMarshallingStrategy;
import org.springframework.cloud.netflix.eureka.DiscoveryManagerInitializer;
@@ -49,9 +52,12 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.Ordered;
import org.springframework.core.io.ClassPathResource;
+import org.springframework.core.io.support.PropertiesLoaderUtils;
+import org.springframework.util.ClassUtils;
import org.springframework.util.ReflectionUtils;
import org.springframework.web.context.ServletContextAware;
+import com.netflix.blitz4j.DefaultBlitz4jConfig;
import com.netflix.blitz4j.LoggingConfiguration;
import com.netflix.discovery.converters.JsonXStream;
import com.netflix.discovery.converters.XmlXStream;
@@ -89,6 +95,36 @@ public class EurekaServerInitializerConfiguration implements ServletContextAware
this.servletContext = servletContext;
}
+ @PostConstruct
+ public void initLogging() {
+
+ if (!(LoggingSystem.get(ClassUtils.getDefaultClassLoader()) instanceof Log4JLoggingSystem)) {
+
+ LoggingConfiguration off = new LoggingConfiguration() {
+ @Override
+ public void configure() {
+ }
+ };
+ Field instance = ReflectionUtils.findField(LoggingConfiguration.class,
+ "instance");
+ ReflectionUtils.makeAccessible(instance);
+ ReflectionUtils.setField(instance, null, off);
+ Field blitz4j = ReflectionUtils.findField(LoggingConfiguration.class,
+ "blitz4jConfig");
+ ReflectionUtils.makeAccessible(blitz4j);
+ try {
+ Properties props = PropertiesLoaderUtils
+ .loadAllProperties(new ClassPathResource("log4j.properties",
+ Log4JLoggingSystem.class).toString());
+ DefaultBlitz4jConfig blit4jConfig = new DefaultBlitz4jConfig(props);
+ ReflectionUtils.setField(blitz4j, off, blit4jConfig);
+ }
+ catch (IOException e) {
+ }
+
+ }
+ }
+
@Bean
@ConditionalOnMissingBean(DiscoveryManagerInitializer.class)
public DiscoveryManagerInitializer discoveryManagerIntitializer() {