禁用akka.actor.LocalActorRefProvider的Akka日志记录?

时间:2018-09-25 12:24:01

标签: scala logging akka akka-cluster

我收到一堆这样的消息:

2018-09-25 14:22:42.606 [DEBUG] akka.actor.LocalActorRefProvider(akka://cluster) - Resolve (deserialization) of path [system/ddataReplicator/$b#1795511840] doesn't match an active actor. It has probably been stopped, using deadLetters.
2018-09-25 14:22:42.607 [DEBUG] akka.actor.LocalActorRefProvider(akka://cluster) - Resolve (deserialization) of path [system/ddataReplicator/$a#161990085] doesn't match an active actor. It has probably been stopped, using deadLetters.
2018-09-25 14:22:48.897 [DEBUG] akka.actor.LocalActorRefProvider(akka://cluster) - Resolve (deserialization) of path [system/ddataReplicator/$b#1795511840] doesn't match an active actor. It has probably been stopped, using deadLetters.
2018-09-25 14:22:48.898 [DEBUG] akka.actor.LocalActorRefProvider(akka://cluster) - Resolve (deserialization) of path [system/ddataReplicator/$a#161990085] doesn't match an active actor. It has probably been stopped, using deadLetters.

我不想在调试级别登录。 Afaik我不能仅使用记录器名称akka.actor.LocalActorRefProvider,因为完整的记录器名称包括群集名称(akka.actor.LocalActorRefProvider(akka://cluster)),而我们根据运行的环境对它们进行了不同的命名,因此这样的操作将不起作用:< / p>

<logger name="akka.actor.LocalActorRefProvider" level="info" />

据我了解,一种选择是使用正则表达式过滤器:

哪个可行,但我不确定这是否最佳?

1 个答案:

答案 0 :(得分:0)

通过添加以下内容解决:

<logger name="akka.actor.LocalActorRefProvider(akka://${sys:logging.clustername})" level="info" />

然后在运行时通过logging.clustername传递

-Dlogging.clustername=current-cluster-name