Назад | Перейти на главную страницу

Регистрировать предупреждения и ошибки только в Tomcat

Я запускаю экземпляр Apache Solr с Tomcat 6. Сценарии, которые я использовал для установки, настроили Tomcat для регистрации «всего», что означает, что он генерирует огромные файлы журналов, потому что каждый запрос и т. Д. Регистрируется. Файл журнала, который быстро растет, называется catalina.out.

Я попытался установить уровень ведения журнала ПРЕДУПРЕЖДЕНИЕ, изменив эти строки в logging.properties

1catalina.org.apache.juli.FileHandler.level = INFO
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.

к

1catalina.org.apache.juli.FileHandler.level = WARNING
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.

После перезапуска Tomcat мой журнал по-прежнему содержит в основном сообщения INFO. Следующее, что я попробовал, - это раскомментировать пример конфигурации, установив для уровня ведения журнала catalina значение WARNING:

# For example, to log debug messages in ContextConfig and HostConfig
# classes and to log only warnings and errors in other
# org.apache.catalina.** classes, uncomment these lines:
org.apache.catalina.level = WARNING

К сожалению, после перезапуска Tomcat я все еще получал в основном сообщения INFO в catalina.out. Как я могу настроить ведение журнала только на ВНИМАНИЕ?

Чтобы вы поняли, о чем я говорю, вот небольшая выдержка из журнала:

413222 [http-127.0.0.1-8080-1] INFO  org.apache.solr.core.SolrCore  – [german] webapp=/solr path=/select params={hl.fragsize=100&spellcheck=true&enableElevation=false&facet=true&facet.mincount=0&spellcheck.maxCollationTries=0&qf=content^40.0+title^5.0+keywords^2.0+tagsH1^5.0+tagsH2H3^3.0+tagsH4H5H6^2.0+tagsInline&hl.simple.pre=<span+class%3D"results-highlight">&q.alt=*:*&json.nl=map&hl.fl=content&wt=json&spellcheck.collate=true&hl=true&rows=10&echoParams=all&debugQuery=true&fl=*,score&bq=(type:tx_useruniluaddress_domain_model_address)^10&start=0&facet.sort=count&q=Charles+B.+Blankart&hl.simple.post=</span>&facet.field=type&fq=siteHash:"e1d2852464cb2a7272d6f8d89e8803a91e22d96e"&fq={!typo3access}-1,0} hits=54 status=0 QTime=469
422236 [autoExpireDocs-13-thread-1] INFO  org.apache.solr.update.processor.DocExpirationUpdateProcessorFactory  – Begining periodic deletion of expired docs
422240 [autoExpireDocs-13-thread-1] INFO  org.apache.solr.update.UpdateHandler  – start commit{,optimize=false,openSearcher=true,waitSearcher=true,expungeDeletes=false,softCommit=true,prepareCommit=false}
422240 [autoExpireDocs-13-thread-1] INFO  org.apache.solr.core.SolrCore  – SolrIndexSearcher has not changed - not re-opening: org.apache.solr.search.SolrIndexSearcher
422241 [autoExpireDocs-13-thread-1] INFO  org.apache.solr.update.UpdateHandler  – end_commit_flush

Я наконец обнаружил, что это так же просто, как открыть панель администратора Solr и перейти в Logging -> Level на боковой панели навигации. Здесь вы можете установить уровень ведения журнала ПРЕДУПРЕЖДЕНИЕ.

Это устанавливает уровень ведения журнала только для текущего запуска Solr. Как только Solr перезапускается, он сбрасывается до сконфигурированного значения.

Параметр можно настроить в файле tomcat/lib/log4j.properties где все настройки ведения журнала могут быть переопределены, например

# Disables the TransactionLog
log4j.logger.org.apache.solr.update.TransactionLog=OFF
# Sets the general logging threshold to WARN
log4j.logger.org.apache.solr=WARN

Более подробную информацию о ведении журнала можно найти Вот.