Я немного читал о различных способах записи сообщений об отладке с помощью Java, и, исходя из C, я обеспокоен следующим:
Эти библиотеки требуют минимальных накладных расходов в случае, когда ведение журнала отключено (например, в производственной среде), но, поскольку аргумент их функции log()
все еще оценивается, я обеспокоен тем, что накладные расходы в реальном сценарии, фактически, ничуть не пренебрежимо.
Например, log(myobject.toString(), "info message")
все еще имеет издержки на оценку myobject.toString()
, что может быть довольно большим, даже если сама функция журнала ничего не делает.
У кого-нибудь есть решение этой проблемы?
PS: для тех, кто интересуется, почему я упомянул фон C: C позволяет использовать макрос препроцессора и инструкции во время компиляции, которые полностью удаляют весь код, связанный с отладкой во время компиляции, включая параметры макросов (которые просто не появятся при все).
РЕДАКТИРОВАТЬ:
Прочитав первую партию ответов, кажется, что у java явно нет ничего, что могло бы сработать (подумайте о регистрации косинуса числа в большом цикле в мобильной среде, где важен каждый бит ЦП). Поэтому я добавлю, что я бы даже пошел на решение на основе IDE. Моим последним средством было создание чего-то вроде макроса "найти все / заменить".
Сначала я подумал, что, возможно, что-то, взятое из аспектно-ориентированной среды, поможет ...
Кто-нибудь ?