You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by Apache Wiki <wi...@apache.org> on 2013/04/21 13:14:36 UTC

[Solr Wiki] Trivial Update of "SolrLogging" by TimVaillancourt

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Solr Wiki" for change notification.

The "SolrLogging" page has been changed by TimVaillancourt:
http://wiki.apache.org/solr/SolrLogging?action=diff&rev1=23&rev2=24

Comment:
1.7.5 is working for me and is latest

  <<TableOfContents>>
  
  = Solr's Logging Mechanism =
- 
  == Solr 1.4 and Above ==
- 
  Starting with Solr 1.4, the Solr Code base compiles against the "SLF4J" API and provides a runtime jar (slf4j-jdk14-X.Y.Z.jar) that implements SLF4J using JDK standard logging -- so all of the information listed below regarding Solr 1.3 and configuring JDK standard logging still applies by default.
  
  Users who want an alternate logging implementation (log4j, logback etc) will need to repackage the .war file and replace slf4j-jdk14-X.Y.Z.jar with an alternate implementation.
@@ -28, +26 @@

  More Info: http://www.slf4j.org/
  
  == Solr 1.0 to 1.3 ==
- 
  Solr uses JDK standard logging, (ie; the java.util.logging.* package; also known as "JUL"), an overview of how that can be configured at the JVM level can be found here...
  
  http://java.sun.com/j2se/1.5.0/docs/guide/logging/overview.html
@@ -38, +35 @@

  The Solr Admin console has a [[http://localhost:8983/solr/admin/logging.jsp|screen for toggling the logging level globally]].  This is a transient setting good for doing diagnostic work, but does not persist after reboot.
  
  = Customizing Logging =
- 
  == With Example Jetty Instance ==
- 
  If you don't know much about JDK containers or servlet containers and want a quick recipe for modifying the logging settings for default Solr example/ setup, see LoggingInDefaultJettySetup.
  
  == Using log4j with the Solr 4.1 source distribution ==
- 
  Currently Solr 4.1 is not available for easy download because it has not been released yet, so you must obtain a [[NightlyBuilds|nightly version]] or [[HowToContribute#Getting_the_source_code|get it from svn]].  Once it's downloaded, extract it, cd to the solr directory in the extracted directory, then compile it using {{{ant dist-war-excl-slf4j}}} as mentioned in the Solr 4.1 note in the first section above.
  
- Here are the jars you will need to put in your container external lib folder, assuming that you get the 1.7.2 version of slf4j.  The last one comes from the log4j website, not slf4j:
+ Here are the jars you will need to put in your container external lib folder, assuming that you get the 1.7 version of slf4j.  The last one comes from the log4j website, not slf4j:
  
-  * slf4j-api-1.7.2.jar
+  * slf4j-api-1.7.5.jar
-  * slf4j-log4j12-1.7.2.jar
+  * slf4j-log4j12-1.7.5.jar
-  * jcl-over-slf4j-1.7.2.jar
+  * jcl-over-slf4j-1.7.5.jar
   * log4j-1.2.17.jar
  
+ http://www.slf4j.org/download.html http://logging.apache.org/log4j/1.2/
- http://www.slf4j.org/download.html
- http://logging.apache.org/log4j/1.2/
  
  Note that log4j must be configured before it will work. One way to do this is to pass an argument like the following to java:
  
  {{{
  -Dlog4j.configuration=file:etc/log4j.properties
- }}}
  
+ }}}
  http://logging.apache.org/log4j/1.2/manual.html#defaultInit
  
  Sample log4j.properties file:
+ 
  {{{
  #  Logging level
+ 
  log4j.rootLogger=WARN, file
  
+ 
  #- size rotation with log cleanup.
+ 
  log4j.appender.file=org.apache.log4j.RollingFileAppender
+ 
  log4j.appender.file.MaxFileSize=4MB
+ 
  log4j.appender.file.MaxBackupIndex=9
  
+ 
  #- File to log to and log format
+ 
  log4j.appender.file.File=logs/solr.log
+ 
  log4j.appender.file.layout=org.apache.log4j.PatternLayout
+ 
  log4j.appender.file.layout.ConversionPattern=%-5p - %d{yyyy-MM-dd HH:mm:ss.SSS}; %C; %m\n
- }}}
  
+ }}}
  == Using Logback with the Solr 3.5 binary distribution ==
- 
  Here are some details for implementing logback (http://logback.qos.ch/). As you may know, Logback is from the same author as Log4j. It has several enhancements including Filters and Custom Appenders.
  
  1. Get Solr 3.5 http://www.apache.org/dyn/closer.cgi/lucene/solr/3.5.0 and extract the tar/zip file on your system.
@@ -91, +93 @@

  
  {{{
  # cd $ORIG
+ 
  # tar xzvf apache-solr-3.5.0.tgz
- }}}
  
+ }}}
  2. Copy the solr.war file to a new location
  
  {{{
  # mkdir -p /tmp/solr
+ 
  # cd ./example/webapps
+ 
  # cp solr.war /tmp/solr
+ 
  # cd /tmp/solr
+ 
  # jar xvf solr.war
+ 
  # rm -f solr.war
- }}}
  
+ }}}
  3. Remove the slf4j-jdk14-1.6.1.jar file
  
  {{{
  # cd /tmp/solr
+ 
  # rm -f ./WEB-INF/lib/slf4j-jdk14-1.6.1.jar
- }}}
  
+ }}}
- 4. Copy logback classic files 
+ 4. Copy logback classic files
  
  Get the file: http://logback.qos.ch/dist/logback-1.0.1.tar.gz
  
  {{{
  # tar xzvf logback-1.0.1.tar.gz
+ 
  # cd logback-1.0.1
+ 
  # cp logback-classic-1.0.1.jar /tmp/solr/WEB-INF/lib
+ 
  # cp logback-core-1.0.1.jar /tmp/solr/WEB-INF/lib
- }}}
  
+ }}}
  Note: If you wanted to upgrade SLF4J from 1.6.1 to 1.6.4 you would do the following...
  
+ a. Get the SLF4J from http://www.slf4j.org/dist/slf4j-1.6.4.tar.gz <<BR>> b. Extract the tar into a temporary directory <<BR>> c. delete the old versions: <<BR>>
- a. Get the SLF4J from http://www.slf4j.org/dist/slf4j-1.6.4.tar.gz <<BR>>
- b. Extract the tar into a temporary directory <<BR>>
- c. delete the old versions: <<BR>>
  
  {{{
  # rm /tmp/solr/WEB-INF/lib/jcl-over-slf4j-1.6.1.jar
+ 
  # rm /tmp/solr/WEB-INF/lib/log4j-over-slf4j-1.6.1.jar
+ 
  # rm /tmp/solr/WEB-INF/lib/slf4j-api-1.6.1.jar
- }}}
  
+ }}}
  d. Copy the new ones <<BR>>
  
  {{{
  # cp jcl-over-slf4j-1.6.4.jar /tmp/solr/WEB-INF/lib
+ 
  # cp log4j-over-slf4j-1.6.4.jar /tmp/solr/WEB-INF/lib
+ 
  # cp slf4j-api-1.6.4.jar /tmp/solr/WEB-INF/lib
- }}}
  
+ }}}
  5. Rebuild the war
  
  {{{
  # cd /tmp/solr
+ 
  # jar cvf solr.war *
- }}}
  
+ }}}
  6. Copy the war back to your example/webapps directory
  
  {{{
  # cp solr.war $ORIG/apache-solr-3.5.0/example/webapps
- }}}
  
+ }}}
  7. Create resources/logback.xml file
  
  {{{
  # cd $ORIG/apache-solr-3.5.0/example
+ 
  # mkdir resources
- }}}
  
+ }}}
  copy logback.xml into this directory.
  
  8. Restart Solr 3.5
  
- Example logback.xml. 
+ Example logback.xml.
  
  {{{
  <configuration debug="true">
+ 
    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
+ 
      <file>/var/log/solr.log</file>
+ 
      <encoder>
+ 
          <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
+ 
      </encoder>
+ 
    </appender>
+ 
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ 
      <encoder>
+ 
        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
+ 
      </encoder>
+ 
    </appender>
+ 
    <logger name="org.apache.solr.handler.dataimport.DocBuilder.level" level="SEVERE" additivity="false">
+ 
      <appender-ref ref="FILE" />
+ 
    </logger>
+ 
    <logger name="org.apache.solr.handler.dataimport.ThreadedEntityProcessorWrapper.level" level="SEVERE" additivity="false">
+ 
      <appender-ref ref="FILE" />
+ 
    </logger>
+ 
    <logger name="org.apache.solr.core.SolrCore" level="INFO" additivity="false">
+ 
- 	<appender-ref ref="FILE" />
+         <appender-ref ref="FILE" />
+ 
    </logger>
+ 
    <logger name="org.apache.solr" level="INFO" additivity="false">
+ 
      <appender-ref ref="FILE" />
+ 
    </logger>
+ 
    <root level="OFF">
+ 
      <appender-ref ref="STDOUT" />
+ 
    </root>
+ 
  </configuration>
- }}}
  
+ }}}
+