Я разрабатываю облачную службу Azure, включающую в себя несколько рабочих ролей, которые образуют кластер akka.net. Как добиться того, чтобы сплетни кластера и другие сообщения попадали в окна консоли эмулятора эмулятора?Отправка кластерных сплетен Akka.net на консоль ролей работников Azure
1
A
ответ
4
На данный момент я работаю над кластером Akka.NET, который будет размещен как Azure Cloud Services и столкнулся с той же проблемой.
Самый быстрый способ, который я нашел для этого, - написать регистрационный адаптер (хотя я по-прежнему относительно новичок в Akka.NET, поэтому возьмите этот совет с щепоткой соли). Вот основные один я использую сейчас:
public class ComputeEmulatorConsoleLogger : ReceiveActor
{
public ComputeEmulatorConsoleLogger()
{
Receive<InitializeLogger>(_ =>
{
Trace.WriteLine("Compute emulator console logger started.");
Sender.Tell(new LoggerInitialized());
});
Receive<LogEvent>(ev =>
{
Trace.WriteLine(ev.ToString());
});
}
}
А в разделе конфигурации akka
HOCON добавить пути класса и имя сборки, например:
loggers = [ "WorkerRole2.ComputeEmulatorConsoleLogger,WorkerRole2" ]
Это не идеально, но, как вы можете увидеть это работает достаточно хорошо, так что вы не вытягивать ваши волосы интересно, что система актер до:
Спасибо, отлично работает. – Landrew
@ Landrew Рад помочь! Кроме того, я заметил, что ваш оригинальный вопрос был помечен как 'akka' (вместо' akka.net'), что означает, что он, вероятно, не получит воздействия, которое вы надеялись на сообщество. Я только наткнулся на него, потому что я подписался на тег 'akka.net-cluster'! – easuter
Правильно, у меня будет исправлен тег. – Landrew