Metabase 日志

默认情况下,Metabase记录大量信息。它使用Log4j 2,因此您可以配置Metabase记录的信息量。

配置日志级别

以下是 Metabase 的默认日志配置文件 默认日志配置。您可以通过在运行 Metabase 时传递一个 -Dlog4j.configurationFile 参数来覆盖此 XML 文件,并告诉 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 的 Web 服务器以在日志中提供更多详细信息。但请记住,Jetty 的调试日志可能非常详细,这可能使您难以找到所需的数据。

要获取 Jetty 日志,请将以下行添加到 Log4J2 XML 文件中的节点

<Logger name="org.eclipse.jetty" level="DEBUG"/>

在 Docker 中使用 Log4j 2

在运行 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 -jar metabase.jar

阅读其他 Metabase 版本的文档

想要改进这些文档? 提出更改。