Jakie są dostępne opcje pobierania ziaren zarządzanych przez Spring w aplikacji Log4J Appender w aplikacji internetowej zarządzanej przez Spring?

Mój obecny lead do tworzenia ma świetny pomysł w teorii - skonstruuj niestandardowy appender Log4J, który zajmuje się fasolami zarządzanymi przez Spring i używa ich do rejestrowania błędów w różnych innych źródłach niż tylko standardowy plik dziennika. Jednakże, poza utworzeniem singletonu zainicjowanego przy starcie z kontekstem aplikacji (kodem za chwilę), nie wydaje mi się, aby zastanawiałem się nad innymi opcjami pobierania fasoli zarządzanej przez Springa w aplikatorze Log4J.

public class SpringSingleton implements ApplicationContextAware {
    private static ApplicationContext context;
    public SpringSingleton() {
        super();
    }
    public static ApplicationContext getContext() {
        return SpringSingleton.context;
    }
    public void setApplicationContext(ApplicationContext context) {
        if(SpringSingleton.context != null) {
            throw new IllegalStateException("Context is already set!");
        }
        SpringSingleton.context = context;
    }
}

Idealnie byłoby, gdyby te właściwości mogły być ustawione tak jak fasola w Spring za pomocą wtrysku zależności - odwołania do fasoli nigdy się nie zmienią, niezależnie od tego, ile elementów inicjujących zostało zainicjowanych. Jakieś pomysły?

questionAnswers(2)

yourAnswerToTheQuestion