We currently don't have topology name as an option for that. It would require a change to how we launch containers to make it work everywhere. If you want to file a JIRA and or make the change yourself it would be a simple one.
You would want to make the change here https://github.com/apache/storm/blob/3356f1f764135570b948f6614c4816f49fd68dbd/storm-server/src/main/java/org/apache/storm/daemon/supervisor/BasicContainer.java#L546-L567 to compute/include the topology name instead of the topology id. It would also be nice to have it be an option for command line substitution here. https://github.com/apache/storm/blob/3356f1f764135570b948f6614c4816f49fd68dbd/storm-server/src/main/java/org/apache/storm/daemon/supervisor/BasicContainer.java#L438-L452 Both of those places are likely going to require some minor test changes too. After that you can edit your own copy of worker.xml to match. If you feel that the default should be topology name, then go ahead and make that change in the standard worker.xml, but I would like a way for the topology id to still be captured as it can help with debugging. Thanks, Bobby On Tue, May 29, 2018 at 7:37 AM Joe Darkless <[email protected]> wrote: > Hello, > > Default storm syslog configuration uses ${sys:storm.id} as AppName for > logging. Which looks like "topology-name-12-1527582851". > After deployment of new topology version the numbers behind > "topology-name" changes - obviously. > > The problem is that we need to have a constant appName for the syslog > for our other systems (Kibana, Icinga, ...) => "topology-name" > > > Why there is not by default defined "topology.name" as the "storm.id" is? > > Is there way to access in log4j2 any other storm variables except the > ones that are defined in the command line (-Dstorm.id)? Like topology.name > ? > > What should be the correct way of setting the topology.name as syslog > AppName? > > > Thanks, Pavel >
