1
votes

Hye Everybody

I faced a problem when deploying solr on jboss. I wanted to log the messages for solr on jboss into a separate file like solr.log instead of appearing in console or server.log. So I tried by making changes in jboss-log4j.xml and added following configuration into it.

<appender name="SOLR"  class="org.jboss.logging.appender.DailyRollingFileAppender">
      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
      <param name="File" value="${jboss.server.log.dir}/solr.log"/>
      <param name="DatePattern" value="'.'yyyy-MM-dd"/>
      <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
      </layout>
</appender>


<category name="org.apache.solr" additivity="false">
    <priority value="INFO"/>
    <appender-ref ref="SOLR"/>
</category>

but still getting solr's log in console and server.log and not in solr.log I tried without the additivity parameter too but had no luck. The solr using sl4j (cotaining sl4j.jar) for logging and jboss AS 4.2 is using log4j as its using a log4j xml for settings. Please suggest what can be possible solution for this or comment for more info. Thanks in advance.

regards

la89ondevg

1

1 Answers

0
votes

slf4j is a logging facade, meaning that it doesn't actually write any logs. It can be configured to use log4j for logging, by adding the slf4j-log4j jar (assuming you're using log4j 1.2.xx) and removing the slf4j-jdk14 jar from the WEB-INF/lib folder.

I'm assuming your application server will expose the log4j classes to the solr webapp -- if that is not the case, then you will also need to add a log4j jar to the solr WEB-INF/lib directory.