仅在 Tomcat 中记录警告和错误

仅在 Tomcat 中记录警告和错误

我正在使用 Tomcat 6 运行 Apache Solr 实例。我安装时使用的脚本将 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 后,catalina.out 中仍然大部分都是 INFO 消息。如何设置日志记录以仅记录 WARNING 条目?

为了让您明白我在说什么,这里是日志的一小段摘录:

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

答案1

我最终发现,这很简单,只需打开 Solr 管理面板,然后转到侧面导航中的“日志”->“级别”即可。在那里,您可以将日志级别设置为“警告”。

这仅设置 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

有关日志记录的更多信息,请参见这里

相关内容