Как в песочнице SLF4J - PullRequest
       24

Как в песочнице SLF4J

4 голосов
/ 06 октября 2011

У меня есть приложение (расширение), работающее на сервере Smartfox. Большинство из вас не знают Smartfox, но настройка похожа на Tomcat. то есть расширение имеет свой собственный загрузчик классов, который сначала загружает классы из расширения, а затем глобальный сервер libs (я назову это эгоистичная загрузка классов , поскольку я не знаю официального термина, если таковой существует).

У меня проблема с несколькими привязками SLF4J, с моим расширением, содержащим logback, и сервером, содержащим другую привязку slf4j (что для меня бесполезно):

INFO   | jvm 1    | 2011/10/06 11:10:25 | SLF4J: Class path contains multiple SLF4J bindings.
INFO   | jvm 1    | 2011/10/06 11:10:25 | SLF4J: Found binding in [jar:file:/opt/smartfox/Server/lib/lsc.jar!/org/slf4j/impl/StaticLoggerBinder.class]
INFO   | jvm 1    | 2011/10/06 11:10:25 | SLF4J: Found binding in [jar:file:/opt/smartfox/Server/wext/smilefish/logback-classic-jar-logback-classic-0.9.29.jar!/org/slf4j/impl/StaticLoggerBinder.class]

Я надеялся, что эгоистичная загрузка классов решит такую ​​проблему, но, очевидно, это не так. Как я могу это исправить, не снимая привязку?

(См. Существует ли Tomcat-подобный загрузчик классов, который можно использовать автономно? для исходного кода эгоистичного загрузчика классов)

1 Ответ

1 голос
/ 06 октября 2011

Выходной сигнал SLF4J - всего лишь предупреждение. Из описанной вами загрузки класса (эгоистичный / лист-первый / локально-первый) SLF4J, вероятно, связан с logback. Вы проверяли?

...