Пару вопросов по сабжу...
В общем нужно в релизной сборке иметь возможность (по какому нибудь ключу из коммандной строки) детального лога работы программы. При этом в случае, если лог отключен что бы это все не сильно тормозило...
Сейчас информация для лога готовится в любом случае, а потом если надо постится в консоль. Логично, что имеются некоторые неоправданные задержки в режиме, когда логгинг не нужен...
Вариант первый:
Пихаем все всю логику в dll-ку, собираем 2 либы — с логингом и без него. В зависимости от ключа используем либо одину, либо вторую.
Тут трудности в реализации динамического подключения, да и время сборки в 2 раза больше...
Вариант второй:
Вводим где нибудь флажок, что логгинг включен. В зависимости от этого флага собственно делаем логгинг или нет....