我有一個在同一位置的CATALINA_HOME
和CATALINA_BASE
的tomcat安裝。這個tomcat只託管一個solr實例。Tomcat7,Log4j容器和WebApp級別的配置
我想要做的第一件事就是生成log4j日誌記錄到solr的單獨文件,比如我在${catalina.base}/logs/solr.log
,我通過在${CATALINA_HOME}/webapps/solr/WEB-INF/classes/
中添加log4j.properties來實現。
然後我想配置tomcat本身來生成log4j輸出,然後按照log4j的apache guide。這對catalina有效,但似乎覆蓋了我之前配置的solr和它正在記錄的獨立文件,不再記錄。
我試圖刪除WEB-INF/classes
目錄,並將appender複製到tomcat log4j文件,並在最後添加了這個log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/solr] =INFO, SOLR
,但仍然無法爲solr本身獲得單獨的文件日誌記錄。
這是因爲類加載層次的順序嗎?如果是的話爲什麼?通常應該可以在較低級別上覆蓋配置。
是否有另一種可能的方式來爲webapp單獨配置log4j配置?