4747import org .springframework .boot .autoconfigure .web .servlet .ServletWebServerFactoryCustomizer ;
4848import org .springframework .boot .autoconfigure .web .servlet .TomcatServletWebServerFactoryCustomizer ;
4949import org .springframework .boot .autoconfigure .web .servlet .UndertowServletWebServerFactoryCustomizer ;
50+ import org .springframework .boot .context .properties .EnableConfigurationProperties ;
5051import org .springframework .boot .web .embedded .jetty .JettyServletWebServerFactory ;
5152import org .springframework .boot .web .embedded .tomcat .TomcatServletWebServerFactory ;
5253import org .springframework .boot .web .embedded .undertow .UndertowServletWebServerFactory ;
7374 */
7475@ ManagementContextConfiguration (value = ManagementContextType .CHILD , proxyBeanMethods = false )
7576@ ConditionalOnWebApplication (type = Type .SERVLET )
77+ @ EnableConfigurationProperties (ManagementServerProperties .class )
7678class ServletManagementChildContextConfiguration {
7779
7880 @ Bean
@@ -83,20 +85,22 @@ ServletManagementWebServerFactoryCustomizer servletManagementWebServerFactoryCus
8385
8486 @ Bean
8587 @ ConditionalOnClass (name = "io.undertow.Undertow" )
86- UndertowAccessLogCustomizer undertowManagementAccessLogCustomizer () {
87- return new UndertowAccessLogCustomizer ();
88+ UndertowAccessLogCustomizer undertowManagementAccessLogCustomizer (
89+ ManagementServerProperties managementServerProperties ) {
90+ return new UndertowAccessLogCustomizer (managementServerProperties );
8891 }
8992
9093 @ Bean
9194 @ ConditionalOnClass (name = "org.apache.catalina.valves.AccessLogValve" )
92- TomcatAccessLogCustomizer tomcatManagementAccessLogCustomizer () {
93- return new TomcatAccessLogCustomizer ();
95+ TomcatAccessLogCustomizer tomcatManagementAccessLogCustomizer (
96+ ManagementServerProperties managementServerProperties ) {
97+ return new TomcatAccessLogCustomizer (managementServerProperties );
9498 }
9599
96100 @ Bean
97101 @ ConditionalOnClass (name = "org.eclipse.jetty.server.Server" )
98- JettyAccessLogCustomizer jettyManagementAccessLogCustomizer () {
99- return new JettyAccessLogCustomizer ();
102+ JettyAccessLogCustomizer jettyManagementAccessLogCustomizer (ManagementServerProperties managementServerProperties ) {
103+ return new JettyAccessLogCustomizer (managementServerProperties );
100104 }
101105
102106 @ Configuration (proxyBeanMethods = false )
@@ -145,14 +149,18 @@ private String getContextPath(ManagementServerProperties managementServerPropert
145149
146150 abstract static class AccessLogCustomizer implements Ordered {
147151
148- private static final String MANAGEMENT_PREFIX = "management_" ;
152+ protected final ManagementServerProperties managementServerProperties ;
149153
150- protected String customizePrefix (String prefix ) {
154+ AccessLogCustomizer (ManagementServerProperties managementServerProperties ) {
155+ this .managementServerProperties = managementServerProperties ;
156+ }
157+
158+ protected String customizePrefix (String prefix , String managementAccesslogPrefix ) {
151159 prefix = (prefix != null ) ? prefix : "" ;
152- if (prefix .startsWith (MANAGEMENT_PREFIX )) {
160+ if (prefix .startsWith (managementAccesslogPrefix )) {
153161 return prefix ;
154162 }
155- return MANAGEMENT_PREFIX + prefix ;
163+ return managementAccesslogPrefix + prefix ;
156164 }
157165
158166 @ Override
@@ -165,13 +173,19 @@ public int getOrder() {
165173 static class TomcatAccessLogCustomizer extends AccessLogCustomizer
166174 implements WebServerFactoryCustomizer <TomcatServletWebServerFactory > {
167175
176+ TomcatAccessLogCustomizer (ManagementServerProperties managementServerProperties ) {
177+ super (managementServerProperties );
178+ }
179+
168180 @ Override
169181 public void customize (TomcatServletWebServerFactory factory ) {
170182 AccessLogValve accessLogValve = findAccessLogValve (factory );
171183 if (accessLogValve == null ) {
172184 return ;
173185 }
174- accessLogValve .setPrefix (customizePrefix (accessLogValve .getPrefix ()));
186+
187+ accessLogValve .setPrefix (customizePrefix (accessLogValve .getPrefix (),
188+ this .managementServerProperties .getAccesslog ().getPrefix ()));
175189 }
176190
177191 private AccessLogValve findAccessLogValve (TomcatServletWebServerFactory factory ) {
@@ -188,16 +202,25 @@ private AccessLogValve findAccessLogValve(TomcatServletWebServerFactory factory)
188202 static class UndertowAccessLogCustomizer extends AccessLogCustomizer
189203 implements WebServerFactoryCustomizer <UndertowServletWebServerFactory > {
190204
205+ UndertowAccessLogCustomizer (ManagementServerProperties managementServerProperties ) {
206+ super (managementServerProperties );
207+ }
208+
191209 @ Override
192210 public void customize (UndertowServletWebServerFactory factory ) {
193- factory .setAccessLogPrefix (customizePrefix (factory .getAccessLogPrefix ()));
211+ factory .setAccessLogPrefix (customizePrefix (factory .getAccessLogPrefix (),
212+ this .managementServerProperties .getAccesslog ().getPrefix ()));
194213 }
195214
196215 }
197216
198217 static class JettyAccessLogCustomizer extends AccessLogCustomizer
199218 implements WebServerFactoryCustomizer <JettyServletWebServerFactory > {
200219
220+ JettyAccessLogCustomizer (ManagementServerProperties managementServerProperties ) {
221+ super (managementServerProperties );
222+ }
223+
201224 @ Override
202225 public void customize (JettyServletWebServerFactory factory ) {
203226 factory .addServerCustomizers (this ::customizeServer );
@@ -220,7 +243,8 @@ private void customizeRequestLogWriter(RequestLogWriter writer) {
220243 String filename = writer .getFileName ();
221244 if (StringUtils .hasLength (filename )) {
222245 File file = new File (filename );
223- file = new File (file .getParentFile (), customizePrefix (file .getName ()));
246+ file = new File (file .getParentFile (),
247+ customizePrefix (file .getName (), this .managementServerProperties .getAccesslog ().getPrefix ()));
224248 writer .setFilename (file .getPath ());
225249 }
226250 }
0 commit comments