Metabase 日誌
預設情況下,Metabase 日誌會記錄相當多的資訊。它在底層使用 Log4j 2,因此您可以設定 Metabase 日誌記錄多少資訊。
設定記錄層級
這是 Metabase 的 預設記錄設定。您可以覆寫此 XML 檔案,並在執行 Metabase 時傳遞 -Dlog4j.configurationFile
引數,以告知 Metabase 使用您自己的記錄設定檔。例如,如果您的自訂 XML 檔案位於 /path/to/custom/log4j2.xml
,您可以這樣使用它
java -Dlog4j.configurationFile=file:/path/to/custom/log4j2.xml -jar metabase.jar
若要開始自訂日誌,請複製預設的 log4j2.xml
檔案,並進行調整以符合您的需求。您需要重新啟動 Metabase,檔案的變更才會生效。請參閱 Log4j 的文件以取得關於 記錄層級 的資訊。
您可以為應用程式的不同區域設定不同的記錄層級,例如:
<Loggers>
<Logger name="metabase" level="INFO"/>
<Logger name="metabase-enterprise" level="INFO"/>
<Logger name="metabase.plugins" level="DEBUG"/>
<Logger name="metabase.server.middleware" level="DEBUG"/>
<Logger name="com.mchange" level="ERROR"/>
<!-- Example: Add trace logging to the Metabase analysis process, which can help debugging trouble with syncing, fingerprinting and scanning -->
<Logger name="metabase.sync" level="TRACE"/>
<Root level="WARN">
<AppenderRef ref="STDOUT"/>
</Root>
</Loggers>
請查看 如何讀取日誌。
Jetty 日誌
您可以將記錄層級設定為 DEBUG
,以設定 Metabase 的網頁伺服器在日誌中提供更多詳細資訊。請注意,Jetty 的偵錯日誌可能非常冗長,這可能會讓您難以找到所需的資料。
若要取得 Jetty 日誌,請將以下幾行新增至 Log4J2 XML 檔案中的
<Logger name="org.eclipse.jetty" level="DEBUG"/>
將 Log4j 2 與 Docker 搭配使用
在執行 Metabase Docker 映像之前,您需要傳遞自訂的 log4j.configurationFile
引數。將 JAVA_OPTS=-Dlog4j.configurationFile=file:/path/to/custom/log4j2.xml
新增至容器的環境變數,如下所示
docker run -p 3000:3000 -v $PWD/my_log4j2.xml:/tmp/my_log4j2.xml -e JAVA_OPTS=-Dlog4j.configurationFile=file:/tmp/my_log4j2.xml metabase/metabase`
停用表情符號或彩色日誌記錄
預設情況下,Metabase 會在日誌中包含表情符號字元。您可以使用 MB_EMOJI_IN_LOGS
環境變數來停用表情符號。
設定表情符號日誌記錄
export MB_EMOJI_IN_LOGS="false"
java --add-opens java.base/java.nio=ALL-UNNAMED -jar metabase.jar
閱讀其他 Metabase 版本的 文件。