|
原文出处:http://blog.chenlb.com/2010/08/solr-with-log4j.html
Solr 默认是用 Jdk 的日志输出。还好 Solr 是使用 slf4j 日志库,可以方便换用其它日志输出。solr 使用 log4j 也不难。重新生成 solr.war
把 solr.war 解压,然后把 log4j.properties 放到 WEB-INF/classes 中。没有 classes 创建一个。log4j.properties 如:
- log4j.addivity.org.apache=true
- log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
- log4j.appender.CONSOLE.Target=System.out
- log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
- log4j.appender.CONSOLE.layout.ConversionPattern=%d %-5p %c{2} - %m%n
- log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender
- log4j.appender.ROLLING_FILE.Append=false
- log4j.appender.ROLLING_FILE.File=./logs/rolling.log
- log4j.appender.ROLLING_FILE.MaxBackupIndex=2
- log4j.appender.ROLLING_FILE.MaxFileSize=10MB
- log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout
- log4j.appender.ROLLING_FILE.layout.ConversionPattern=%d %-5p %c{2} - %m%n
- log4j.logger.org.apache.solr=INFO,ROLLING_FILE
- log4j.rootLogger=INFO,CONSOLE
log4j.addivity.org.apache=true log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.Target=System.out log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=%d %-5p %c{2} - %m%n log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender log4j.appender.ROLLING_FILE.Append=false log4j.appender.ROLLING_FILE.File=./logs/rolling.log log4j.appender.ROLLING_FILE.MaxBackupIndex=2 log4j.appender.ROLLING_FILE.MaxFileSize=10MB log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout log4j.appender.ROLLING_FILE.layout.ConversionPattern=%d %-5p %c{2} - %m%n log4j.logger.org.apache.solr=INFO,ROLLING_FILE log4j.rootLogger=INFO,CONSOLE 把 下载的slf4j-log4j12-1.5.5.jar 和 log4j-1.2.16.jar 放到 WEB-INF/lib 里,把 slf4j-jdk14-1.5.5.jar 删除。
重新用 zip 方式压缩成 solr.war 就行了,其实也可以不用 solr.war,直接目录就行。我在 jetty 中测试过。
延伸:把 jetty 的确输出到文件中。
jetty.home/etc/jetty.xml 中加:
-
-
-
- /logs/stderrout-yyyy_mm_dd.log
- false
- 90
- GMT+8
-
-
-
-
- Redirecting stderr/stdout to
-
-
/logs/stderrout-yyyy_mm_dd.log false 90 GMT+8 Redirecting stderr/stdout to 就可以把控制台的输出到文件。 |
|
|