Использование логгеров в статическом контексте в актерах Akka - PullRequest
0 голосов
/ 05 июня 2018

Я использую рекомендованную Akka запись в журнал событий для регистрации от актеров:

public class MyActor extends AbstractActor {
  private final LoggingAdapter logger = Logging.getLogger(getContext().getSystem(), this);

  @Override
  public Receive createReceive() {
    // do stuff here
      logger.log("Did Stuff here");

    }).matchAny(unhandled -> unhandled(unhandled)).build();
  }

  public static helperMethodForActorTodoItsJob() {
    // Can't log here because of the static context?
  }
} 

Я понимаю, почему рекомендуется использовать запись событий в актерах, но как мне войти в статические методы?Должен ли я создать еще один регистратор?Как это влияет на производительность?Или у меня не должно быть статических методов в актерах?Какая лучшая практика здесь?

1 Ответ

0 голосов
/ 17 июня 2018

Как правило, может сделать, это передать LoggingAdapter, получаемый с помощью метода log() (то есть, если вы решите расширить AbstractLoggingActor), в качестве аргумента для метода класса.Если это то, что вы хотите сделать, зависит от того, почему вы хотите, чтобы он был статическим, и / или от метода.

...