【发布时间】:2018-10-17 04:50:40
【问题描述】:
我目前正在使用以下命令通过我的 Java 应用程序以编程方式提交 Storm 拓扑:
Nimbus.Client client = NimbusClient.getConfiguredClient(stormConfigProvider.getStormConfig()).getClient();
client.submitTopology(
this.topologyID.toString(),
stormJarManager.getRemoteJarLocation(),
JSONValue.toJSONString(stormConfigProvider.getStormConfig()),
topology
);
在我的场景中,我有两种拓扑。测试拓扑和生产拓扑。对于这两种拓扑,我需要不同类型的日志记录。虽然测试拓扑以 TRACE 级别运行,但生产拓扑将以 INFO 级别运行。此外,我要求生产拓扑配置一个 SPLUNK Log4J2 appender,以集中记录我的生产应用程序。
为此,我在拓扑 JAR 中包含了一个 log4j.xml 文件,用于配置 SPLUNK 附加程序。但是,服务器不支持 log4j.xml 文件。相反,Storm Server 似乎使用了自己的配置。
如何针对不同的拓扑更改我的 log4j 配置? (我不想修改每个worker上的log4j.xml)。
【问题讨论】:
标签: java apache log4j apache-storm