Если вы хотите включить / отключить Appenders во время выполнения, я нашел другое решение (хотя и не очень элегантное). Используя конфигурацию log4j, добавьте все необходимые вам Appenders, как обычно.
Во время выполнения, когда вы хотите «отключить» приложение, добавьте к нему (org.apache.log4j.spi) фильтр, который возвращает Filter.DENY для каждого сообщения журнала. Таким образом, никакие сообщения не проходят через этого Appender. Если вы хотите снова включить Appender, просто очистите фильтр, который вы добавили выше.
Я проверил это, и оно хорошо работает для нас (log4j 1.2).