2011-10-06 70 views
4

我有一個在Smartfox服務器內運行的應用程序(擴展名)。你們大多數人都不會知道Smartfox,但是設置就像Tomcat。即擴展有它自己的類加載器,它首先從擴展中加載類,然後是全局服務器庫(因爲我不知道官方術語,如果存在的話,我會將其稱爲自私課加載)。如何使用沙箱SLF4J

我有一個多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] 

我希望自私的類加載會解決這種的問題,但顯然它沒有。我怎樣才能解決這個問題而不刪除任何綁定?

(參見Is there a Tomcat-like classloader that can be used standalone?爲自私類加載器的源代碼)

回答

1

通過SLF4J發出的輸出只是一個警告。從你描述的類加載(selfish/leaf-first/local-first),SLF4J可能會綁定到logback。你檢查了嗎?