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 的 Web 服务器以在日志中提供更多详细信息。请注意,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 的文档。