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` 節點

<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 版本的 文件