我已經編寫了一個自定義log4j appender,爲每個日誌條目創建一個新的Solr文檔,並且在將它部署到JBoss時遇到問題。我應該如何處理自定義Log4j appender dependancies
來源可在github上看到,但真正的問題是試圖使用JBoss的appender。像這樣的jboss-log4j.xml文件的樣子
的培訓相關的位:
<appender name="SOLR" class="com.stuartgrimshaw.solrIndexAppender.SolrIndexAppender" />
<root>
<priority value="${jboss.server.log.threshold}"/>
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
<appender-ref ref="SOLR"/>
</root>
爲Solr的的依賴都在提供真實.war文件可用,但我猜測,當附加器被初始化相當早在啓動過程中,該應用程序尚未部署的是,這就是爲什麼我在日誌中看到以下錯誤:
2009-11-29 10:40:57,715 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] (main) Error installing to Create: name=jboss.system:service=Logging,type=Log4jService state=Configured mode=Manual requiredState=Create
java.lang.NoClassDefFoundError: org/apache/solr/client/solrj/SolrServerException
有什麼辦法,我可以延遲初始化,直到Solr的應用已部署,還是有辦法部署Solr應用程序,因此它是庫jboss在啓動時是否可見?
我試過在我想使用的配置文件的lib目錄中部署Solr庫,但是如果我還部署了Solr網絡應用程序,它會給我他們的默認管理界面,我會收到其他Solr郵件列表建議的錯誤是因爲我在兩個地方部署了libs。 我可以嘗試從solr.war文件中提取庫,並將它們部署在/lib中,並將其餘部分部署到/deploy/ –
2009-11-29 16:03:23
個人而言,我更喜歡第二種選擇,我在應用程序中執行日誌記錄級別,而不是容器/服務器級別。 – 2009-11-29 21:02:12