Java 使用Spring而不是persistence.xml初始化Log4j2 JPAAppender

Java 使用Spring而不是persistence.xml初始化Log4j2 JPAAppender,java,spring,jpa,log4j2,persistence.xml,Java,Spring,Jpa,Log4j2,Persistence.xml,我对使用Log4j2的JPAAppender进行日志记录感兴趣。看见 在文档中,它指出,除了您正在使用的主持久性单元之外,还应该在自己的持久性单元中配置它,这一切都很好。 但是,由于我的主persistenceunit没有在persistence.xml中配置(当然除了它的名称之外),而是在我的Spring上下文中配置,因此我希望对JPAAppender执行相同的操作,并且在persistence.xml中只进行最低限度的配置 比如: <persistence xmlns="http://

我对使用Log4j2的JPAAppender进行日志记录感兴趣。看见 在文档中,它指出,除了您正在使用的主持久性单元之外,还应该在自己的持久性单元中配置它,这一切都很好。 但是,由于我的主persistenceunit没有在persistence.xml中配置(当然除了它的名称之外),而是在我的Spring上下文中配置,因此我希望对JPAAppender执行相同的操作,并且在persistence.xml中只进行最低限度的配置

比如:

<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
                             http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
         version="2.1">
<persistence-unit name="MainPU"/>
<persistence-unit name="loggingPU" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
    <class>com.LogEvent</class>
    <shared-cache-mode>NONE</shared-cache-mode>
</persistence-unit>

org.hibernate.jpa.HibernatePersistenceProvider
com.LogEvent
没有一个

但是,引用JPAAppender的log4j2 LoggingContext在我的Springcontext之前加载,因此任何初始化(强制我在persistence.xml中为JPAAppender声明数据库url等db属性)都将延迟。我该如何解决这个问题?

为什么没有人回答甚至评论这个问题?你是如何解决这个问题的@比米