You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@storm.apache.org by Bobby Evans <bo...@apache.org> on 2018/06/01 12:58:30 UTC

Re: Log4j2 syslog - using topology.name for appname

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 <da...@gmail.com> 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
>