From b3ea14519d3678be49d7ff3ffa1b9883871bd55e Mon Sep 17 00:00:00 2001 From: pero Date: Fri, 14 Sep 2007 11:01:06 +0000 Subject: [PATCH] Handle more then one system property replacement at file logging.properties. git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@575617 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/juli/ClassLoaderLogManager.java | 16 +++++++++++----- webapps/docs/changelog.xml | 3 +++ 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/java/org/apache/juli/ClassLoaderLogManager.java b/java/org/apache/juli/ClassLoaderLogManager.java index e1bb7eabd..f5bcc16b3 100644 --- a/java/org/apache/juli/ClassLoaderLogManager.java +++ b/java/org/apache/juli/ClassLoaderLogManager.java @@ -442,13 +442,19 @@ public class ClassLoaderLogManager extends LogManager { */ protected String replace(String str) { String result = str; - if (result.startsWith("${")) { - int pos = result.indexOf('}'); - if (pos != -1) { - String propName = result.substring(2, pos); + int pos_start = result.indexOf("${"); + if (pos_start != -1) { + int pos_end = result.indexOf('}'); + if (pos_end != -1) { + String propName = result.substring(pos_start + 2, pos_end); String replacement = System.getProperty(propName); if (replacement != null) { - result = replacement + result.substring(pos + 1); + if(pos_start >0) { + result = result.substring(0,pos_start) + + replacement + replace(result.substring(pos_end + 1)); + } else { + result = replacement + replace(result.substring(pos_end + 1)); + } } } } diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 5925d90e4..1a226bb55 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -82,6 +82,9 @@ Optimized JDBCAccessLogValve combined pattern request attribute access. (pero) + + o.a.juli.ClassLoaderLogManager handle more then one system property replacement at file logging.properties. (pero) + -- 2.11.0