Log4J - funkcjonalność podobna do SiftingAppender

Pracuję w projekcie, który wykorzystujeLog4J. Jednym z wymagań jest utworzenie osobnego pliku dziennika dla każdego wątku; to było dziwne zagadnienie, trochę posortowane przez utworzenie nowego FileAppendera w locie i dołączenie go do instancji Loggera.

Logger logger = Logger.getLogger(<thread dependent string>);
FileAppender appender = new FileAppender();
appender.setFile(fileName);
appender.setLayout(new PatternLayout(lp.getPattern()));
appender.setName(<thread dependent string>);
appender.setThreshold(Level.DEBUG);
appender.activateOptions();
logger.addAppender(appender);

Wszystko poszło dobrze, dopóki nie zdaliśmy sobie sprawy, że używamy innej biblioteki -Spring Framework v3.0.0 (które używająLogowanie do Commons) - nie gra w piłkę z powyższą techniką - dane rejestrowania wiosny są „widziane” tylko przez Appendery zainicjowane z pliku log4.configuration, ale nie przez środowisko wykonawcze utworzone Appenders. Wróćmy więc do pierwszego.

Po pewnym dochodzeniu dowiedziałem się, że nowe i ulepszoneLogBack ma aplikatora -SiftingAppender - co robi dokładnie to, czego potrzebujemy, tj. Rejestrowanie poziomu wątków w niezależnych plikach.

W tej chwili przejście na LogBack nie jest opcją, więc utknąwszy z Log4J, jak mogę osiągnąć funkcjonalność podobną do SiftingAppender i sprawić, by Spring był szczęśliwy?

Uwaga: Wiosna służy tylko doJdbcTemplate funkcjonalność, bez IOC; w celu „zaczepienia” Spring’s Commons Logowania do Log4J Dodałem ten wiersz w pliku log4j.properties:

log4j.logger.org.springframework = DEBUG

zgodnie z instrukcjątutaj.

questionAnswers(5)

yourAnswerToTheQuestion