Merge branch '2.0.x'
This commit is contained in:
commit
dbf09de203
@ -1,5 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<parent>
|
<parent>
|
||||||
@ -258,6 +259,11 @@
|
|||||||
<artifactId>aspectjweaver</artifactId>
|
<artifactId>aspectjweaver</artifactId>
|
||||||
<optional>true</optional>
|
<optional>true</optional>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.eclipse.jetty</groupId>
|
||||||
|
<artifactId>jetty-server</artifactId>
|
||||||
|
<optional>true</optional>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.elasticsearch</groupId>
|
<groupId>org.elasticsearch</groupId>
|
||||||
<artifactId>elasticsearch</artifactId>
|
<artifactId>elasticsearch</artifactId>
|
||||||
@ -602,20 +608,27 @@
|
|||||||
<configuration>
|
<configuration>
|
||||||
<exportAntProperties>true</exportAntProperties>
|
<exportAntProperties>true</exportAntProperties>
|
||||||
<target>
|
<target>
|
||||||
<taskdef resource="net/sf/antcontrib/antcontrib.properties" />
|
<taskdef
|
||||||
<taskdef name="stringutil" classname="ise.antelope.tasks.StringUtilTask" />
|
resource="net/sf/antcontrib/antcontrib.properties" />
|
||||||
|
<taskdef name="stringutil"
|
||||||
|
classname="ise.antelope.tasks.StringUtilTask" />
|
||||||
<var name="version-type" value="${project.version}" />
|
<var name="version-type" value="${project.version}" />
|
||||||
<propertyregex property="version-type" override="true"
|
<propertyregex property="version-type"
|
||||||
input="${version-type}" regexp=".*\.(.*)" replace="\1" />
|
override="true" input="${version-type}" regexp=".*\.(.*)"
|
||||||
<propertyregex property="version-type" override="true"
|
replace="\1" />
|
||||||
input="${version-type}" regexp="(M)\d+" replace="MILESTONE" />
|
<propertyregex property="version-type"
|
||||||
<propertyregex property="version-type" override="true"
|
override="true" input="${version-type}" regexp="(M)\d+"
|
||||||
input="${version-type}" regexp="(RC)\d+" replace="MILESTONE" />
|
replace="MILESTONE" />
|
||||||
<propertyregex property="version-type" override="true"
|
<propertyregex property="version-type"
|
||||||
input="${version-type}" regexp="BUILD-(.*)" replace="SNAPSHOT" />
|
override="true" input="${version-type}" regexp="(RC)\d+"
|
||||||
|
replace="MILESTONE" />
|
||||||
|
<propertyregex property="version-type"
|
||||||
|
override="true" input="${version-type}" regexp="BUILD-(.*)"
|
||||||
|
replace="SNAPSHOT" />
|
||||||
<var name="github-tag" value="v${project.version}" />
|
<var name="github-tag" value="v${project.version}" />
|
||||||
<propertyregex property="github-tag" override="true"
|
<propertyregex property="github-tag"
|
||||||
input="${github-tag}" regexp=".*SNAPSHOT" replace="master" />
|
override="true" input="${github-tag}" regexp=".*SNAPSHOT"
|
||||||
|
replace="master" />
|
||||||
</target>
|
</target>
|
||||||
</configuration>
|
</configuration>
|
||||||
</execution>
|
</execution>
|
||||||
@ -629,10 +642,12 @@
|
|||||||
<target>
|
<target>
|
||||||
<zip
|
<zip
|
||||||
destfile="${project.build.directory}/${project.artifactId}-${project.version}-docs.zip">
|
destfile="${project.build.directory}/${project.artifactId}-${project.version}-docs.zip">
|
||||||
<zipfileset dir="${project.build.directory}/generated-docs"
|
<zipfileset
|
||||||
|
dir="${project.build.directory}/generated-docs"
|
||||||
includes="index.html" prefix="html" />
|
includes="index.html" prefix="html" />
|
||||||
<mappedresources>
|
<mappedresources>
|
||||||
<fileset dir="${project.build.directory}/generated-docs"
|
<fileset
|
||||||
|
dir="${project.build.directory}/generated-docs"
|
||||||
includes="index.pdf" />
|
includes="index.pdf" />
|
||||||
<globmapper from="index.pdf"
|
<globmapper from="index.pdf"
|
||||||
to="pdf/spring-boot-actuator-web-api.pdf" />
|
to="pdf/spring-boot-actuator-web-api.pdf" />
|
||||||
|
@ -16,10 +16,15 @@
|
|||||||
|
|
||||||
package org.springframework.boot.actuate.autoconfigure.web.servlet;
|
package org.springframework.boot.actuate.autoconfigure.web.servlet;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
import javax.servlet.Filter;
|
import javax.servlet.Filter;
|
||||||
|
|
||||||
import org.apache.catalina.Valve;
|
import org.apache.catalina.Valve;
|
||||||
import org.apache.catalina.valves.AccessLogValve;
|
import org.apache.catalina.valves.AccessLogValve;
|
||||||
|
import org.eclipse.jetty.server.NCSARequestLog;
|
||||||
|
import org.eclipse.jetty.server.RequestLog;
|
||||||
|
import org.eclipse.jetty.server.Server;
|
||||||
|
|
||||||
import org.springframework.beans.factory.BeanFactory;
|
import org.springframework.beans.factory.BeanFactory;
|
||||||
import org.springframework.beans.factory.HierarchicalBeanFactory;
|
import org.springframework.beans.factory.HierarchicalBeanFactory;
|
||||||
@ -39,6 +44,7 @@ import org.springframework.boot.autoconfigure.web.embedded.TomcatWebServerFactor
|
|||||||
import org.springframework.boot.autoconfigure.web.embedded.UndertowWebServerFactoryCustomizer;
|
import org.springframework.boot.autoconfigure.web.embedded.UndertowWebServerFactoryCustomizer;
|
||||||
import org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryCustomizer;
|
import org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryCustomizer;
|
||||||
import org.springframework.boot.autoconfigure.web.servlet.TomcatServletWebServerFactoryCustomizer;
|
import org.springframework.boot.autoconfigure.web.servlet.TomcatServletWebServerFactoryCustomizer;
|
||||||
|
import org.springframework.boot.web.embedded.jetty.JettyServletWebServerFactory;
|
||||||
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
|
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
|
||||||
import org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory;
|
import org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory;
|
||||||
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
|
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
|
||||||
@ -48,6 +54,7 @@ import org.springframework.context.annotation.Configuration;
|
|||||||
import org.springframework.core.Ordered;
|
import org.springframework.core.Ordered;
|
||||||
import org.springframework.security.config.BeanIds;
|
import org.springframework.security.config.BeanIds;
|
||||||
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
|
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link ManagementContextConfiguration} for Servlet web endpoint infrastructure when a
|
* {@link ManagementContextConfiguration} for Servlet web endpoint infrastructure when a
|
||||||
@ -71,16 +78,22 @@ class ServletManagementChildContextConfiguration {
|
|||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnClass(name = "io.undertow.Undertow")
|
@ConditionalOnClass(name = "io.undertow.Undertow")
|
||||||
public UndertowAccessLogCustomizer undertowAccessLogCustomizer() {
|
public UndertowAccessLogCustomizer undertowManagementAccessLogCustomizer() {
|
||||||
return new UndertowAccessLogCustomizer();
|
return new UndertowAccessLogCustomizer();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnClass(name = "org.apache.catalina.valves.AccessLogValve")
|
@ConditionalOnClass(name = "org.apache.catalina.valves.AccessLogValve")
|
||||||
public TomcatAccessLogCustomizer tomcatAccessLogCustomizer() {
|
public TomcatAccessLogCustomizer tomcatManagementAccessLogCustomizer() {
|
||||||
return new TomcatAccessLogCustomizer();
|
return new TomcatAccessLogCustomizer();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
@ConditionalOnClass(name = "org.eclipse.jetty.server.Server")
|
||||||
|
public JettyAccessLogCustomizer jettyManagementAccessLogCustomizer() {
|
||||||
|
return new JettyAccessLogCustomizer();
|
||||||
|
}
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@ConditionalOnClass({ EnableWebSecurity.class, Filter.class })
|
@ConditionalOnClass({ EnableWebSecurity.class, Filter.class })
|
||||||
@ConditionalOnBean(name = BeanIds.SPRING_SECURITY_FILTER_CHAIN, search = SearchStrategy.ANCESTORS)
|
@ConditionalOnBean(name = BeanIds.SPRING_SECURITY_FILTER_CHAIN, search = SearchStrategy.ANCESTORS)
|
||||||
@ -119,8 +132,14 @@ class ServletManagementChildContextConfiguration {
|
|||||||
|
|
||||||
abstract static class AccessLogCustomizer implements Ordered {
|
abstract static class AccessLogCustomizer implements Ordered {
|
||||||
|
|
||||||
|
private static final String MANAGEMENT_PREFIX = "management_";
|
||||||
|
|
||||||
protected String customizePrefix(String prefix) {
|
protected String customizePrefix(String prefix) {
|
||||||
return "management_" + prefix;
|
prefix = (prefix != null) ? prefix : "";
|
||||||
|
if (prefix.startsWith(MANAGEMENT_PREFIX)) {
|
||||||
|
return prefix;
|
||||||
|
}
|
||||||
|
return MANAGEMENT_PREFIX + prefix;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -163,4 +182,30 @@ class ServletManagementChildContextConfiguration {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static class JettyAccessLogCustomizer extends AccessLogCustomizer
|
||||||
|
implements WebServerFactoryCustomizer<JettyServletWebServerFactory> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void customize(JettyServletWebServerFactory factory) {
|
||||||
|
factory.addServerCustomizers(this::customizeServer);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void customizeServer(Server server) {
|
||||||
|
RequestLog requestLog = server.getRequestLog();
|
||||||
|
if (requestLog != null && requestLog instanceof NCSARequestLog) {
|
||||||
|
customizeRequestLog((NCSARequestLog) requestLog);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void customizeRequestLog(NCSARequestLog requestLog) {
|
||||||
|
String filename = requestLog.getFilename();
|
||||||
|
if (StringUtils.hasLength(filename)) {
|
||||||
|
File file = new File(filename);
|
||||||
|
file = new File(file.getParentFile(), customizePrefix(file.getName()));
|
||||||
|
requestLog.setFilename(file.getPath());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user