我尝试使用logback记录solr输出。 使用maven我构建了一个新的webapp并排除了对commons-logging和slf4j-jdk14的任何引用,例如。
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-core</artifactId>
<version>3.3</version>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
<exclusion>
<artifactId>slf4j-jdk14</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
我最终没有依赖任何其他日志记录框架,但solr仍然记录到标准输出:
12.07.2011 16:43:31 org.apache.solr.servlet.SolrDispatchFilter init
INFO: SolrDispatchFilter.init()
12.07.2011 16:43:31 org.apache.solr.core.SolrResourceLoader locateSolrHome
有人有什么建议吗?
答案 0 :(得分:2)
旧版本的slf4j对其他库使用的其他依赖项存在隐藏(屏蔽)依赖关系。 就我而言,它是由apache tika使用的netcdf。 我排除了对tika的依赖,现在solr使用logback进行日志记录。
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-parsers</artifactId>
<version>${tika.version}</version>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
<exclusion>
<artifactId>netcdf</artifactId>
<groupId>edu.ucar</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>edu.ucar</groupId>
<artifactId>netcdf</artifactId>
<version>4.2-min</version>
<exclusions>
<exclusion>
<artifactId>slf4j-api</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>