W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Solr日志是了解系統(tǒng)中發(fā)生的情況的關(guān)鍵方法。有幾種方法可以調(diào)整默認(rèn)的日志記錄配置。
除了下面介紹的日志記錄選項(xiàng)外,還有一種方法可以配置哪些請(qǐng)求參數(shù)(如作為查詢的一部分發(fā)送的參數(shù)),并使用附加的名為logParamsList
的請(qǐng)求參數(shù)進(jìn)行記錄。有關(guān)更多信息,請(qǐng)參閱常見查詢參數(shù)一節(jié)。
您可以使用Admin Web界面來控制Solr中的日志輸出量。選擇LOGGING鏈接。請(qǐng)注意,此頁面只允許您更改正在運(yùn)行的系統(tǒng)中的設(shè)置,并不會(huì)保存在下一次??運(yùn)行中。(有關(guān)Admin Web界面的更多信息,請(qǐng)參閱使用Solr管理用戶界面。)
Admin Web界面的這一部分允許您為許多不同的日志類別設(shè)置日志記錄級(jí)別。幸運(yùn)的是,任何未設(shè)置的類別都將具有其父級(jí)的日志記錄級(jí)別。這樣就可以通過調(diào)整其父級(jí)的日志級(jí)別來一次更改多個(gè)類別。
當(dāng)您選擇“級(jí)別”時(shí),您會(huì)看到以下菜單:
目錄顯示當(dāng)前的日志記錄級(jí)別。日志級(jí)別菜單浮動(dòng)在這些上面。要為特定目錄設(shè)置日志級(jí)別,請(qǐng)選擇它并單擊相應(yīng)的日志級(jí)別按鈕。
日志級(jí)別設(shè)置如下:
級(jí)別 | 結(jié)果 |
---|---|
FINEST | 報(bào)告一切 |
FINE | 報(bào)告一切,但都是最不重要的信息 |
CONFIG | 報(bào)告配置錯(cuò)誤 |
INFO | 報(bào)告一切,但是正常狀態(tài)的 |
WARN | 報(bào)告所有警告 |
SEVERE | 只報(bào)告最嚴(yán)重的警告 |
OFF | 關(guān)閉日志記錄 |
UNSET | 刪除以前的日志設(shè)置 |
Note:一次可以允許有多個(gè)設(shè)置。
還有一種方法可以將 REST 命令發(fā)送到日志記錄端點(diǎn)以執(zhí)行相同的功能。例如:
# Set the root logger to level WARN
curl -s http://localhost:8983/solr/admin/info/logging --data-binary "set=root:WARN"
您可以在啟動(dòng)Solr時(shí)暫時(shí)選擇不同的日志記錄級(jí)別。有兩種方法:
第一種方法是在啟動(dòng)Solr之前設(shè)置SOLR_LOG_LEVEL環(huán)境變量,或者將相同的變量放在bin/solr.in.sh或bin/solr.in.cmd中。變量必須包含支持日志級(jí)別的大寫字符串(請(qǐng)參見上文)。
第二種方法是使用-v或-q選項(xiàng)啟動(dòng)Solr,有關(guān)詳細(xì)信息,請(qǐng)參閱Solr控制腳本參考。例子:
# Start with verbose (DEBUG) looging
bin/solr start -f -v
# Start with quiet (WARN) logging
bin/solr start -f -q
Solr 使用 Log4J 版本1.2 進(jìn)行日志記錄,它是使用server/resources/log4j.properties進(jìn)行配置?;c(diǎn)時(shí)間檢查log4j.properties文件的內(nèi)容,以便熟悉其結(jié)構(gòu)。默認(rèn)情況下,Solr日志消息將被寫入SOLR_LOGS_DIR/solr.log。 100000 100
準(zhǔn)備在生產(chǎn)環(huán)境中部署Solr時(shí),請(qǐng)將變量 SOLR_LOGS_DIR 設(shè)置為希望 Solr 寫入日志文件的位置,例如:/var/solr/logs。您可能也想調(diào)整log4j.properties。請(qǐng)注意,如果您使用Solr生產(chǎn)中提供的說明將Solr作為服務(wù)安裝,則請(qǐng)參閱/var/solr/log4j.properties,而不是默認(rèn)的server/resources版本。
當(dāng)在前臺(tái)(-f選項(xiàng))啟動(dòng)Solr時(shí),除了solr.log,所有日志將被發(fā)送到控制臺(tái)。當(dāng)在后臺(tái)啟動(dòng)Solr時(shí),它會(huì)將所有的stdout和stderr輸出寫入到solr-<port>-console.log的一個(gè)日志文件中,并自動(dòng)禁用log4j.properties配置的CONSOLE記錄器,其效果與您從rootLogger手動(dòng)刪除CONSOLE appender效果相同。
此外,log4j.properties默認(rèn)的日志旋轉(zhuǎn)大小閾值4MB 對(duì)生產(chǎn)服務(wù)器來說很可能太小,應(yīng)該增加到更大的值(例如100MB或更多)。
log4j.appender.file.MaxFileSize=100MB
當(dāng)垃圾收集日志大小達(dá)到20M時(shí),Java垃圾收集日志被JVM旋轉(zhuǎn),最多9代。舊的GC日志被移動(dòng)到SOLR_LOGS_DIR/archived。這些設(shè)置只能通過編輯start腳本來更改。
在Solr的每次啟動(dòng)時(shí),start腳本將清理舊日志并旋轉(zhuǎn)主solr.log文件。如果在log4j.properties中更改了log4j.appender.file.MaxBackupIndex設(shè)置,則還需要更改 start 腳本中的相應(yīng)-rotate_solr_logs 9 設(shè)置。
您可以通過更改設(shè)置在啟動(dòng)時(shí)禁用自動(dòng)登錄旋轉(zhuǎn),通過在bin/solr.in.sh或bin/solr.in.cmd中發(fā)現(xiàn)的SOLR_LOG_PRESTART_ROTATION設(shè)置為false。
對(duì)于大容量的搜索應(yīng)用程序,記錄每個(gè)查詢可能會(huì)生成大量日志,并且根據(jù)卷的大小,可能會(huì)影響性能。如果您挖掘這些日志以獲取對(duì)應(yīng)用程序的更多見解,那么記錄每個(gè)查詢請(qǐng)求可能會(huì)有用。
另一方面,如果您只關(guān)心與請(qǐng)求相關(guān)的警告和錯(cuò)誤消息,則可以將日志詳細(xì)程度設(shè)置為WARN。但是,這會(huì)造成潛在的問題,因?yàn)槟恢朗欠裼腥魏尾樵兙徛?,因?yàn)榫徛牟樵內(nèi)匀挥涗浽贗NFO級(jí)別。
Solr提供了一種將日志詳細(xì)度閾值設(shè)置為WARN的方法,并且可以設(shè)置一個(gè)延遲閾值,在該閾值之上,請(qǐng)求被視為“slow”,并在WARN級(jí)別記錄該請(qǐng)求,以幫助您識(shí)別應(yīng)用程序中的緩慢查詢。要啟用此行為,請(qǐng)?jiān)趕olrconfig.xml 的查詢部分配置該<slowQueryThresholdMillis>元素:
<slowQueryThresholdMillis>1000</slowQueryThresholdMillis>
超過指定閾值的任何查詢將在WARN級(jí)別被記錄為“slow”查詢。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: