refer to: http://www.findwise.com/blog/using-log4j-tomcat-solr-how-make-customized-file-appender/
Default Tomcat log mechanism
Tomcat by default uses a customized version of java logging api. The configuration is located at ${tomcat_home}/conf/logging.properties
. It follows the standard java logging configuration syntax plus some special tweaks(prefix property with a number) for identifying logs of different web apps.
Default Solr log mechanism
Solr uses slf4j logging, which is kind of wrapper for other logging mechanisms. By default, solr uses log4j syntax and wraps java logging api (which means that it looks like you are using log4j in the code, but it is actually using java logging underneath). It uses tomcat logging.properties as configuration file. If you want to define your own, it can be done by placing a logging.properties under ${tomcat_home}/webapps/solr/WEB-INF/classes/logging.properties.
Two ways to configure Solr logging:
1. use tomcat logging.properties
2. put a logging.properties to ${tomcat_home}/webapps/solr/WEB-INF/classes/
Log4j for solr
1. Add log4j.properties in ${tomcat_home}/webapps/solr/WEB-INF/classes/ (create classes folder if not present)
2. Replace slf4j-jdkxx-xxx.jar with slf4j-log4jxx-xxx.jar in ${tomcat_home}/webapps/solr/WEB-INF/lib (which means switching underneath implementation from java logging to log4j logging)
3. Add log4jxxx.jar to ${tomcat_home}/webapps/solr/WEB-INF/lib