in src/main/java/org/apache/log4j/component/helpers/MessageFormatter.java [111:153]
public static String format(final String messagePattern,
final Object arg1,
final Object arg2) {
int i = 0;
int len = messagePattern.length();
StringBuffer sbuf = new StringBuffer(messagePattern.length() + 50);
for (int l = 0; l < 2; l++) {
int j = messagePattern.indexOf(DELIM_START, i);
if (j == -1 || (j + 1 == len)) {
// no more variables
if (i == 0) { // this is a simple string
return messagePattern;
} else {
// add the tail string which contains no variables
// and return the result.
sbuf.append(messagePattern.substring(i,
messagePattern.length()));
return sbuf.toString();
}
} else {
char delimStop = messagePattern.charAt(j + 1);
if ((delimStop != DELIM_STOP)) {
// invalid DELIM_START/DELIM_STOP pair
sbuf.append(messagePattern.substring(i,
messagePattern.length()));
return sbuf.toString();
}
sbuf.append(messagePattern.substring(i, j));
if (l == 0) {
sbuf.append(arg1);
} else {
sbuf.append(arg2);
}
i = j + 2;
}
}
// append the characters following the second {} pair.
sbuf.append(messagePattern.substring(i, messagePattern.length()));
return sbuf.toString();
}