Я не уверен на 100%, правильно ли я понимаю вашу проблему. Я предполагаю, что вы хотите направить вывод из одного и того же регистратора в разные файлы в зависимости от приложения, которое выдает оператор журнала.
Log4J предоставляет Сопоставленный диагностический контекст . Этот контекст может быть установлен в другое значение (в зависимости от вашего приложения) до запуска кода гибернации. Каждый оператор журнала, выданный hibernate, также содержит содержимое MDC.
С этим вы можете написать специальный appender, который проверяет содержимое MDC и записывает сообщение журнала в разные файлы.
Я использовал этот подход в тяжелом многопоточном приложении, где каждый поток создает свой собственный файл журнала, и он работает очень хорошо.