Почему 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
Акк-способ ведения журнала (через LoggingAdapter) в основном перенаправляет все сообщения журнала субъекту ведения журнала. Это сделано, чтобы минимизировать влияние ведения журнала на вашего субъекта -> ведение журнала выполняется другим участником асинхронно.
Правильно ли я, что сочетание этих приводит к двойной асинхронной регистрации? Это проблема? Является ли асинхронное ведение журнала slf4j более предпочтительным, чем способ ведения журнала akka или наоборот? Аргументы за, аргументы за?
1 ответ
В Лагоме есть много мест, в которые нам нужно войти и где мы не находимся внутри актера. Также в отношении кода пользователя. Большая часть кода пользователя написана вне Actor, но выполняется внутри Actor.
Это правда, что при входе через ActorLogging
, но это предпочтительнее, чем определяемый пользователем журнал блокировки, который вызывается изнутри Actor.