Обычно нет необходимости делать это вручную.Каждый LoggerContext регистрирует ловушку отключения, которая заботится об освобождении ресурсов при выходе из JVM (если системное свойство log4j.shutdownHookEnabled не установлено в false).Веб-приложения должны включать в свой путь к классам модуль log4j-web, который отключает перехват выключения, но вместо этого очищает ресурсы log4j при остановке веб-приложения.