Я часто обнаруживаю, что добавляю либо конкатонированные строки, либо использую формататор строк в своих операторах отладки в log4net и log4j, если я окружу эти операторы отладки блоком "if debug", чтобы не тратить ресурсы впустую, обрабатывая эти параметры, даже если оператор отладки не будет распечатан?
Я бы предположил, что проверка, является ли (isDebug) быстрее и эффективнее, чем выполнение строковых операций, однако это приведет к тому, что программа будет работать по-другому (быстрее), если уровень отладки установлен выше отладки, что может означать что проблемы с синхронизацией, возникающие в производственной среде, не возникают, когда я пишу в журнал.