2014-10-28 68 views
0

夥計們,我嘗試在Java中使用solrj。首先,我需要初始化一個HttpSolrServer對象。Solr中的日誌文件

當我運行:

//This variable stores the default url of the solr sever 
protected static final String DEFAULT_URL = "http://localhost:8083/solr"; 
//This is a static instance of solr sever. 
protected static HttpSolrServer solrServer = null; 
//This keeps the log 
private static Logger log = Logger.getLogger(SolrService.class); 

//Create a solrServer instance. The connection time out is set to be 5000 ms. 
static { 
    solrServer = new HttpSolrServer(DEFAULT_URL); 
    solrServer.setConnectionTimeout(5000); 
} 

它提供:

log4j:ERROR setFile(null,true) call failed. 
java.io.FileNotFoundException: /logs/log (No such file or directory) 
at java.io.FileOutputStream.open(Native Method) 
at java.io.FileOutputStream.<init>(FileOutputStream.java:206) 
at java.io.FileOutputStream.<init>(FileOutputStream.java:127) 
at org.apache.log4j.FileAppender.setFile(FileAppender.java:289) 
at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:163) 
at org.apache.log4j.DailyRollingFileAppender.activateOptions(DailyRollingFileAppender.java:215) 
at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:256) 
at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:132) 
at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:96) 
at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:654) 
at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:612) 
at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:509) 
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:415) 
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:441) 
at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:470) 
at org.apache.log4j.LogManager.<clinit>(LogManager.java:122) 
at org.apache.log4j.Logger.getLogger(Logger.java:117) 
at com.pressure.meta.search.SolrService.<clinit>(SolrService.java:23) 
at com.pressure.test.search.SolrServiceTest.testBuildIndex(SolrServiceTest.java:36) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:483) 
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) 
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) 
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) 
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) 
at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79) 
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71) 
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49) 
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) 
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) 
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) 
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) 
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) 
at org.junit.runners.ParentRunner.run(ParentRunner.java:236) 
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) 
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 
log4j:ERROR Either File or DatePattern options are not set for appender [stdout]. 

嗯,我完全不知道這裏的 「日誌/日誌」 是。你可以幫我嗎?非常感謝。

回答

1

這與Solr沒有任何關係,它純粹是Log4J配置。您應該能夠在Solr目錄(可能位於資源目​​錄下)中找到log4j.xml或log4j.properties文件,這將允許您更新適當的位置以保存日誌文件。您可以看到有關如何在Log4jXmlFormat wiki page上配置XML和屬性文件的示例。

+0

謝謝你。我剛剛解決了它。 – penpen926 2014-10-29 12:34:36