Из любопытства - почему API протоколирования не реализуют методы протоколирования, подобные printf()-?

Будь то java.util.logging, commons-logging, log4j, и даже самые последние slf4j и logback, ни один из этих API не предлагает методов, таких как, скажем:

void debug(String format, Object... args);

где format - строка, разобранная с помощью Formatter. Вместо этого они используют MessageFormat.

Я понимаю, что это будет конфликтовать с существующими прототипами, так почему бы не debugf() или тому подобное, но почему нет таких методов, учитывая, что Formatter такой же старый, как Java 1.5?

Это по причинам производительности, обратной совместимости... ?

(примечание, я действительно говорю о Formatter, т.е. включая такие заполнители, как %s, %02x и т.д.)

9
задан fge 26 December 2011 в 12:39
поделиться