OK、だから私はスリルでSolrですが、ロギングを拒否する方法がわからないようです大量のインポートを実行したときに実際に許容できる速度で実行されるようにレベルを設定します。
どのロギングフレームワークを使用しているかさえわかりません(なぜなら、Java.util.logging、log4jおよびcommons-logging十分ではありません、私たちはslf4jをミックスに追加する必要がありました!)申し訳ありませんが、マイナーな怒りを滑らせなければなりませんでした。 :-)
ので、私は持っています src/main/resources/log4j.properties
構成:
log4j.rootLogger=WARN, console
log4j.appender.console=org.Apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.Apache.log4j.PatternLayout
log4j.appender.console.layout.conversionPattern=%5p [%t] (%F:%L) - %m%n
org.Apache.solr.core=WARN
org.Apache.solr.update.processor=WARN
そして、良い尺度として、私はsrc/main/resources/logging.properties
構成:
.level = WARNING
com.gwtstore.level=ALL
com.appgravity.level=ALL
org.Apache.solr.core.level=WARNING
org.Apache.solr.update.processor.level=WARNING
それでも、どういうわけか、私はまだたくさんの以下のものを見ています:
INFO: {add=[-7757828706308755634]} 0 0
Feb 21, 2011 6:12:23 PM org.Apache.solr.core.SolrCore execute
INFO: [] webapp=null path=/update params={} status=0 QTime=0
これが私のクラスパスです:
src/test/resources
src/test/Java
src/main/resources
src/main/Java
idea_rt.jar
junit-rt.jar
deploy.jar
dt.jar
javaws.jar
jce.jar
jconsole.jar
management-agent.jar
plugin.jar
sa-jdi.jar
alt-rt.jar
charsets.jar
classes.jar
jsse.jar
ui.jar
Apple_provider.jar
dnsns.jar
localedata.jar
sunjce_provider.jar
sunpkcs11.jar
test-classes
classes
junit-4.8.2.jar
gwt-user-2.1.1.jar
gwt-servlet-2.1.1.jar
servlet-api-2.5.jar
weld-servlet-1.1.0.Final.jar
hibernate-core-3.6.0.Final.jar
antlr-2.7.6.jar
commons-collections-3.2.1.jar
dom4j-1.6.1.jar
hibernate-commons-annotations-3.2.0.Final.jar
slf4j-api-1.6.0.jar
hibernate-jpa-2.0-api-1.0.0.Final.jar
jta-1.1.jar
hibernate-entitymanager-3.6.0.Final.jar
javassist-3.12.0.GA.jar
hibernate-c3p0-3.3.1.GA.jar
c3p0-0.9.1.jar
hibernate-validator-4.1.0.Final.jar
validation-api-1.0.0.GA.jar
cglib-nodep-2.2.jar
javax.inject-1.jar
cdi-api-1.0.jar
jboss-interceptor-api-1.1.jar
jsr250-api-1.0.jar
lucene-core-2.9.1.jar
lucene-Snowball-2.9.1.jar
mongo-Java-driver-2.4.jar
mysql-connector-Java-5.1.6.jar
protobuf-Java-2.2.0.jar
proxytoys-1.0.jar
quartz-1.8.4.jar
commons-lang-2.5.jar
commons-httpclient-3.1.jar
commons-logging-1.0.4.jar
commons-codec-1.2.jar
nekohtml-1.9.7.jar
xercesImpl-2.8.1.jar
xml-apis-1.3.03.jar
gwtquickstarter.jar
solr-solrj-1.4.1.jar
commons-io-1.4.jar
commons-fileupload-1.2.1.jar
wstx-asl-3.2.7.jar
stax-api-1.0.1.jar
geronimo-stax-api_1.0_spec-1.0.1.jar
solr-core-1.4.1.jar
lucene-analyzers-2.9.3.jar
lucene-highlighter-2.9.3.jar
lucene-memory-2.9.3.jar
lucene-queries-2.9.3.jar
lucene-misc-2.9.3.jar
lucene-spellchecker-2.9.3.jar
solr-commons-csv-1.4.1.jar
wstx-asl-3.2.7.jar
morphia-0.98s10.jar
androidmarketapi-0.5.jar
openid4Java-0.9.5.jar
ロギングプロパティファイルが.../yourWebapp/WEB-INF/classes/log4j.properties
にデプロイされていることを確認する必要があります。
.../yourWebapp/WEB-INF/classes/log4j.xml
ファイルがある場合、これはプロパティファイルを上書きします。
Log4j構成ファイルの場所は、システムプロパティによってオーバーライドすることもできます。
Log4jが構成を取得する方法の詳細については、Log4jの概要の このセクション を参照してください。
次のリンクでは、Solrロギングを適切に構成する方法について説明しています。
http://lucidworks.lucidimagination.com/display/solr/Configure+Logging
ロギングを一時的に変更したい場合は、Solr管理ページから行うことができます。永続的に変更するには、JDKロギングプロパティファイルをSolr Webアプリケーションに追加する必要があります。
Tomcatの場合、以下の手順があります
org.Apache.commons.digester.Digester.level = FINEST
org.Apache.solr.level =警告
Solrサーバーからのロギングを完全にオフにしたい場合は、 http://(YOUR-IP):8080/solr/admin にアクセスして、トップリストに表示されているロギングオプションに移動してください。
そのページで、Solrインストール用に定義されたさまざまなログレベルの詳細な表を見つけることができます。親のロガーを変更して、アプリケーションで使用しているロガーを使用するか、完全にオフにします。
これがあなたが探していたものであることを願っています。ありがとう
Word WARNING
を無限に多くのファイルに配置するという長い試行の結果、TomcatSolrのロギングをようやく遅くすることができたようです。私の脳は今のところJava構成)でいっぱいなので、それがあなたの状況/環境にどのように役立つかは完全に私を超えています。とにかくそれを書き留めています。将来誰かのための痛み。
途中で一部のロギングを完全に無効にした可能性があるため、デバッグ時に(または開発サーバーで)ここで説明する内容を元に戻す必要がある場合があります。
Configフォルダーにlogging.properties
という名前のファイルを作成します。まだ存在しない場合は/etc/Tomcat...
にあります。
logging.properties
がすでに存在する場合は、すべてコメントアウトします。ただし、ロギングが必要な場合は、他の行をコメント化しないように選択することもできます。
以下をlogging.properties
に追加/挿入します。
.level = WARNING
setenv.sh
フォルダーに$CATALINA_HOME/bin
という名前のファイルがまだ存在しない場合は、作成します。 ($CATALINA_HOME
はどこにありますか?通常は/usr/share/Tomcat...
にありますが、ps -ef | grep Tomcat
そして、確実に出力で文字列catalina.home
または同様のものを探します。)
以下をsetenv.sh
に追加/挿入します。
export Java_OPTS="${Java_OPTS} -Djava.util.logging.config.file=/etc/Tomcat.../logging.properties"
Tomcatを再起動します(例:/etc/init.d/Tomcat... restart
、OSによって異なります)
(Tomcat...
をTomcatの実際のバージョンに置き換えます)
SOLRのlog4jに対してこれを行ったので、苦痛だったと言えます。 Log4jは、そのままではSOLRでうまく機能しません。とにかく、これがSOLRをslf4jとlog4jで動作させるために私がしたことです。より簡単な方法がある場合-素晴らしい-それを行います。
Solr/lib内
webappのリソースにlog4j.xmlを追加します
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "/WEB-INF/log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.Apache.org/log4j/" >
<appender class="org.Apache.log4j.DailyRollingFileAppender" name="FILE" >
<param name="file" value="logs/jetty.log" />
<param name="datePattern" value="'.'yyyy-MM" />
<param name="append" value="true" />
<layout class="org.Apache.log4j.PatternLayout" >
<param name="ConversionPattern" value="%d [%t] %-5p %C{6} (%F:%L) - %m%n" />
</layout>
</appender>
<root>
<priority value="error"></priority>
<appender-ref ref="FILE" />
</root>
</log4j:configuration>
Solrの最近のバージョンでここに記述されている内容に加えて、スロークエリロギングを構成するオプションがあります。これを超えるとクエリが長時間実行されていると見なされ、そのようなクエリが別のログに書き込まれるしきい値を設定します。
これを行うには、slowQueryThresholdMillis
をsolrconfig.xml
ファイルに追加します。たとえば、2秒を超える各クエリの実行が遅いと見なすには、solrconfig.xml
に次のように入力します。
<slowQueryThresholdMillis>1000</slowQueryThresholdMillis>