Чтобы напрямую ответить на ваш вопрос:
Вы должны отладить этот аппендер, чтобы увидеть, что происходит.
Убедитесь, что драйвер БД (в данном случае mysql) указан в пути к классам приложения.
Убедитесь, что таблица / схема существует, поскольку этот аппендер сам по себе не создает для вас схему
Обратите внимание, что у него есть параметр "bufferSize", поэтому только если число несохраненных сообщений превышает буфер, выполняется фактический запрос БД.
Поместите точку останова на org.apache.log4j.jdbc.JDBCAppender#execute
и посмотрите, как она на самом деле выполняется
Общее замечание / примечания, не связанные непосредственно с вашим ответом, но все же могут быть ценными.
Это приложение действительно устарело и не очень подходит для современных производственных приложений (если только у вас не очень мало журналов).
Это приложение не использует пакетные вставки, поддерживаемые, вероятно, всеми современными СУБД.
Этот заявитель не использует готовые заявления.
В целом хранение журналов в RDBMS в настоящее время не имеет смысла, журналы предназначены для чтения и анализа, а RDBMS не предлагает действительно удобных инструментов для этого (как визуальных, так и с точки зрения обслуживания: как удалить устаревшие сообщения? Массовое удаление очень дорого, разбиение на разделы? Политики хранения для записей на самом деле не поддерживаются во многих РСУБД ...
Итак, гораздо более современный подход заключается в использовании таких инструментов, как ElasticSearch + Kibana (+ некоторые средства доставки журналов) или даже потоковой передачи журналов в облако (например, Logz.io)