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?