【问题标题】:Disable akka logging for akka.actor.LocalActorRefProvider?为 akka.actor.LocalActorRefProvider 禁用 akka 日志记录?
【发布时间】:2019-03-01 01:52:26
【问题描述】:

我收到一堆这样的消息:

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)),我们会根据运行的环境对它们进行不同的命名,所以这样的事情不会起作用:

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

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

哪个有效,但我不确定这是否最佳?

【问题讨论】:

  • 只使用包不是一个选项?喜欢&lt;logger name="akka.actor" level="info" /&gt;
  • 不,这太宽泛了,我害怕......
  • 我找到了一个可能对你有帮助的答案:stackoverflow.com/a/48664150/2750966
  • 过滤器是正则表达式过滤器的更高级版本:) 但正如我所说,不确定这是非常优化的
  • 添加 logback.xml 应该小心。

标签: scala logging akka akka-cluster


【解决方案1】:

通过添加解决:

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

然后在运行时传递logging.clustername

-Dlogging.clustername=current-cluster-name

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-17
    • 2011-06-22
    • 2015-04-21
    • 2015-02-01
    • 2012-09-21
    • 1970-01-01
    相关资源
    最近更新 更多