Почему lagom использует асинхронный аппендер в производстве


Следующий ресурс утверждает, что Lagom использует асинхронный регистратор в рабочей среде. https://www.lagomframework.com/documentation/1.3.x/java/SettingsLogger.html

Однако lagom также использует akka, и akka советует вам использовать akka-способ входа в систему ваших актеров -- > https://doc.akka.io/docs/akka/2.5/logging.html?language=java

Akka-способ ведения журнала (через LoggingAdapter) в основном пересылает все сообщения журнала субъекту ведения журнала. Это делается для минимизации влияние ведения журнала на вашего актора -- > ведение журнала выполняется асинхронно другим актором.

Правильно ли я понимаю, что комбинация этих параметров приводит к двойному асинхронному журналированию? Разве это проблема? Является ли асинхронное ведение журнала slf4j предпочтительнее способа ведения журнала akka или наоборот? Аргументы за, аргументы против?

1 3

1 ответ:

В Лагоме есть много мест, которые нам нужно Войти и где мы не находимся внутри актера. Кроме того, в отношении пользовательского кода. Большая часть пользовательского кода написана вне актора, но выполняется внутри актора.

Это правда, что есть накладные расходы при входе через ActorLogging, но это предпочтительнее, чем определяемый пользователем блокирующий регистратор, который случайно вызывается изнутри субъекта.