Ваш вопрос мне не понятен.
Почему вы не используете Log4j 2 API вместо пользовательского API?
Почему у вас есть регистраторы с именами ERROR и Database? При нормальных соглашениях о маршрутизации события из регистраторов приложений никогда не будут их использовать.
Обычный API ведения журнала будет выглядеть следующим образом:
public int welcome(String myFriend, Permissions permissions) {
int rc = 0;
logger.traceEntry("Saying hello to {}", myFriend);
logger.debug("Registering permissions for {}, myFriend);
logger.info("Successfully Welcomed {}", myFriend);
return logger.traceExit(rc);
}
Ожидаемый способ сделать это чтобы добавить информацию в ваши события регистрации. Например, если вы хотите регистрировать операторы SQL, создайте маркер с именем SQL, а затем добавьте MarkerFilter, чтобы только операторы SQL направлялись соответствующему Appender. Если вы хотите, чтобы вызовы из Hibernate направлялись в определенный файл, настройте Logger для org.hibernate и перенаправьте все события из этого в соответствующий Appender. Если вы хотите, чтобы ошибки отправлялись только в указанный файл c, настройте для Appender (или Appender-Ref, в зависимости от случая) ThresholdFilter, который допускает только события ошибок.
Чтобы использовать маркер, вы сначала объявляете его с помощью
Marker sqlMarker = MarkerManager.getMarker("SQL");
затем в коде, который вы сделаете:
logger.info(sqlMarker, "SQL: {}", sqlStatement);
наконец, в конфигурации, которую вы включите:
<Logger name="com.mycorp" level="info">
<Appender-Ref ref="file_app-database">
<MarkerFilter marker="SQL" onMatch="ACCEPT" onMisMatch="DENY"/>
</Appender-Ref>
<Appender-Ref ref="file_app-errors" level="error"/>
</Logger>
В этом примере конфигурации будут маршрутизироваться любые журналы с использованием регистратор, чье имя имеет префикс «com.mycorp», чей уровень - «info», «warn», «debug» или «fatal» », и который имеет маркер SQL для Appender базы данных file_app. Журнал событий на уровне error будет перенаправлен в file_app-errors Appender.
Без лучшего описания того, что вы пытаетесь достичь, я не могу предоставить пример конфигурации.
Более подробную информацию вы можете найти по адресу: Маркеры и Фильтры . Вы также можете найти информацию о том, как использовать Log4j 2, прочитав некоторые из этих статей и руководств .