从开始设置风暴拓扑的日志级别

Set Log Level of Storm Topology from Start

我的 Storm 拓扑在初始化期间出现了一个错误。我想在拓扑启动时将日志级别设置为 DEBUG。

我知道有一种机制可以使用 Storm UI 或 CLI 为 运行 拓扑动态设置日志级别,但我无法在出现错误之前动态更改此设置初始化期间出现在我的拓扑中。

如何将日志级别静态设置为 DEBUG,以便在拓扑初始化时看到更详细的日志?

以下仅适用于 Storm 2.0.0 及更高版本。

您可以在拓扑 jar 中包含一个 log4j2 配置文件。然后,您需要在拓扑配置中设置 topology.logging.config 属性。

为方便起见,我将在此处包含文档:

Log file the user can use to configure Log4j2. Can be a resource in the jar (specified with classpath:/path/to/resource) or a file. This configuration is applied in addition to the regular worker log4j2 configuration. The configs are merged according to the rules here: https://logging.apache.org/log4j/2.x/manual/configuration.html#CompositeConfiguration

https://github.com/apache/storm/blob/885ca981fc52bda6552be854c7e4af9c7a451cd2/storm-client/src/jvm/org/apache/storm/Config.java#L735

"regular worker log4j2 configuration" 是 Storm 部署中的 log4j2/worker.xml 文件,假定默认设置。