简体   繁体   中英

Disable akka logging for akka.actor.LocalActorRefProvider?

I get bunch of messages like these:

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.

which I would like not to log at debug level. Afaik I cannot just use logger name akka.actor.LocalActorRefProvider because the full logger name includes cluster name ( akka.actor.LocalActorRefProvider(akka://cluster) ), and we name those differently based on environment it is run, so something like this won't work:

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

One option as I understand would be to use regex filters:

Which works, but I'm not sure if this is optimal?

Solved by adding:

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

And then passing the logging.clustername at runtime with :

-Dlogging.clustername=current-cluster-name

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM