Metabase 日志
Metabase 默认会记录大量信息。Metabase 内部使用 Log4j 2,因此您可以配置 Metabase 记录的信息量。
查看和下载 Metabase 日志
您可以在 管理设置 > 工具 > 日志 中找到 Metabase 日志。您可以按关键字(例如“同步”)过滤日志,并将其下载为文本文件。
如果您正在运行自托管 Metabase,您还可以在终端中查看日志。
如何阅读 Metabase 日志
请参阅 如何阅读日志。
配置日志级别
Metabase 使用 log4j 进行日志配置。这是 Metabase 的 默认日志配置。某些故障排除任务可能需要您覆盖此日志配置(例如,查看更多错误详细信息)。有关 日志级别 的信息,请参阅 Log4j 文档。
临时覆盖日志配置
要临时调整日志配置,请转到 管理设置 > 工具 > 日志 并点击 自定义日志级别。
您可以从常见故障排除任务(例如,故障排除同步问题)的日志级别预设中进行选择,或以 JSON 格式提供自己的配置。例如,以下是一个覆盖配置,用于增加日志记录以排除链接过滤器故障:
{
"metabase.parameters.chain-filter": "debug",
"metabase.parameters.chain-filter.dedupe-joins": "debug"
}
管理设置中的覆盖将是临时的。您可以选择覆盖的持续时间(例如,60 分钟)。当覆盖超时时,日志配置将恢复为默认日志配置(如果您使用自定义日志文件,则恢复为自定义配置)。
使用自定义日志配置文件
您可以将 Metabase 指向自定义日志配置文件。
- 复制默认的
log4j2.xml
文件 -
根据您的需求进行调整。
您可以为应用程序的不同区域设置不同的日志级别,例如,
<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>
- 停止 Metabase 并使用自定义日志配置文件重新启动
- 如果您在 Docker 中运行 Metabase,可以使用环境变量
JAVA_OPTS=-Dlog4j.configurationFile=file:/path/to/custom/log4j2.xml
将 Metabase 指向您的自定义日志文件。
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 作为 JAR 文件运行,可以传递
-Dlog4j.configurationFile
参数。例如,如果您的自定义 XML 文件位于/path/to/custom/log4j2.xml
,您可以这样使用它:
java -Dlog4j.configurationFile=file:/path/to/custom/log4j2.xml -jar metabase.jar
配置 Jetty 日志
您可以将 Metabase 的 Web 服务器日志级别设置为 DEBUG
,以在日志中提供更多详细信息。请记住,Jetty 的调试日志可能会非常冗长,这会使您难以找到所需的数据。
要获取 Jetty 日志,请在 Log4J2 XML 文件的
<Logger name="org.eclipse.jetty" level="DEBUG"/>
配置日志显示方式
关闭日志中的表情符号
默认情况下,Metabase 会在日志中包含表情符号,例如:
2025-06-10 21:43:00,243 INFO sync.analyze :: classify-tables Analyzed [*****************************************·········] 😊 84% Table 6 ''PUBLIC.ACCOUNTS'' {mb-quartz-job-type=SyncAndAnalyzeDatabase}
2025-06-10 21:43:00,244 INFO sync.analyze :: classify-tables Analyzed [***********************************************···] 😎 96% Table 2 ''PUBLIC.ORDERS'' {mb-quartz-job-type=SyncAndAnalyzeDatabase}
您可以使用 MB_EMOJI_IN_LOGS
环境变量 禁用表情符号。
export MB_EMOJI_IN_LOGS="false"
java --add-opens java.base/java.nio=ALL-UNNAMED -jar metabase.jar
关闭彩色日志
默认情况下,Metabase 在显示日志时会使用颜色(在管理面板的 日志 和终端中)。您可以使用 MB_COLORIZE_LOGS
环境变量 禁用彩色日志。
阅读其他版本的 Metabase 的文档。