Solr: как отказаться от регистрации - PullRequest
26 голосов
/ 22 февраля 2011

ОК, так что я взволнован с 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

Ответы [ 5 ]

10 голосов
/ 22 февраля 2011
  1. Необходимо убедиться, что файл свойств ведения журнала развернут в .../yourWebapp/WEB-INF/classes/log4j.properties.

  2. Если существует файл .../yourWebapp/WEB-INF/classes/log4j.xml, это заменит файл свойств.

  3. Расположение файла конфигурации Log4j также может быть переопределено системными свойствами.

Для получения дополнительной информации о том, как Log4j получает свою конфигурацию, посмотрите этот раздел введения в Log4j.

4 голосов
/ 24 апреля 2012

Следующая ссылка обсуждает, как правильно настроить ведение журнала Solr.

http://lucidworks.lucidimagination.com/display/solr/Configuring+Logging

Если вы хотите временно внести изменения в протоколирование, это можно сделать на странице администрирования Solr.Для внесения постоянных изменений вам потребуется добавить файл свойств ведения журнала JDK в веб-приложение Solr.

Для tomcat выполните следующие шаги:

  1. Создайте каталог классов в фоллере WB_INF для веб-приложения solr, т.е. _% TOMCAT_INSTALL_DIR% / webapps / solr / WEB-INF / classes / logging.properties_
  2. Создать файл logging.properties
  3. Добавить следующие записи для настройки уровня журнала (уровни журнала можно установить от FINEST до SEVERE для класса или всего пакета)

org.apache.commons.digester.Digester.level = FINEST

org.apache.solr.level = ПРЕДУПРЕЖДЕНИЕ

4 голосов
/ 09 ноября 2011

Если вы просто хотите полностью отключить ведение журнала на сервере Solr, просто перейдите по адресу http://(YOUR -IP): 8080 / solr / admin и перейдите к параметру ведения журнала, указанному в верхнем списке.

На этой странице вы можете найти подробную таблицу для различных уровней ведения журнала, определенных для вашей установки Solr. Либо измените родительский регистратор, чтобы он использовал регистратор, который вы используете в своем приложении, либо полностью отключите их.

Надеюсь, это то, что вы искали. Спасибо

1 голос
/ 19 декабря 2012

После долгих попыток поместить слово WARNING в бесконечное количество файлов, похоже, мне наконец-то удалось замедлить ведение журнала Tomcat Solr. Как бы это было полезно для вашей ситуации / окружения, полностью вне меня, так как мой мозг полон конфигов JAVA на данный момент. Я все равно записываю это, с надеждой предотвратить некоторую боль для кого-то в будущем.

Возможно, я полностью отключил ведение журнала, поэтому вам может потребоваться отменить то, что я опишу здесь при отладке (или, например, на сервере разработки).

  1. Создайте файл с именем logging.properties в папке конфигурации, например, в /etc/tomcat..., если он еще не существует.

  2. Если logging.properties уже существует, закомментируйте все. Тем не менее, вы можете не комментировать другие строки, на случай, если вы захотите сделать какие-либо записи.

  3. Добавить / вставить следующее в logging.properties:

    .level = WARNING
    
  4. Создайте файл с именем setenv.sh в папке $CATALINA_HOME/bin, если он еще не существует. (Где $CATALINA_HOME? Обычно в /usr/share/tomcat..., но введите
    ps -ef | grep tomcat
    и искать строку catalina.home или что-то подобное в выводе, чтобы быть уверенным.)

  5. Добавить / вставить следующее в setenv.sh:

    export JAVA_OPTS="${JAVA_OPTS} -Djava.util.logging.config.file=/etc/tomcat.../logging.properties"
    
  6. Перезапустите Tomcat (например, /etc/init.d/tomcat... restart, зависит от вашей ОС)

(замените tomcat... вашей актуальной версией Tomcat)

1 голос
/ 22 февраля 2011

Сделав это для log4j для SOLR, я могу сказать, что это было больно. Log4j не работает с SOLR из коробки. Во всяком случае, вот что я сделал, чтобы заставить SOLR работать с slf4j и log4j. Если есть более простой способ - круто - сделай это.

In solr / lib

  • Добавить slf4j-log4j12-1.5.11.jar (make верные версии соответствуют slf4j-api - ??? )
  • Удалить slf4j-jdk14-1.5.5.jar (важно - иначе log4j не привыкнет)

в ресурсах вашего веб-приложения добавьте свой 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>
...