Почему 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 ответ:
В Лагоме есть много мест, которые нам нужно Войти и где мы не находимся внутри актера. Кроме того, в отношении пользовательского кода. Большая часть пользовательского кода написана вне актора, но выполняется внутри актора.
Это правда, что есть накладные расходы при входе через
ActorLogging
, но это предпочтительнее, чем определяемый пользователем блокирующий регистратор, который случайно вызывается изнутри субъекта.