Zugreifen auf Spring Bean aus der Protokollierungs-Appender-Klasse

Ich habe die Klasse "log4j DailyRollingFileAppender", in der die Methode "setFile ()" überprüft werden muss, um zu entscheiden, welche Datei für die Protokollierung verwendet werden soll.

DailyRollingFileAppender class 

public void setFileName()
{
    isLoginEnabled = authenticationManager.checkLoginLogging();
}

Hier ist 'authenticationManager' ein Objekt der Klasse, das verwendet wird, um einen Datenbankaufruf unter Verwendung der Spring-Dependency-Injection-Funktion durchzuführen.

spring-beans.xml
<bean id="dailyRollingFileAppender" class="com.common.util.DailyRollingFileAppender">
 <property name="authenticationManager">
     <ref bean="authenticationManager"/>
 </property>
</bean>

<bean id="authenticationManager" class="com.security.impl.AuthenticationManagerImpl">
    <property name="userService">
        <ref bean="userService"/>
</property>
</bean>

Wenn ich jetzt meine Anwendung starte, wird log4j zuerst initiiert und da spring-beans noch nicht aufgerufen wurde, wirft es eine NullPointerException in der Methode setFileName () aus. Gibt es eine Möglichkeit, wie ich "authenticationManager.checkLoginLogging ()" aufrufen kann? aus der DailyFileAppender-Klasse, damit beim Laden von log4j der Datenbankwert abgerufen werden kann?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage