Отправка сплетни кластера Akka.net на консоль рабочей роли Azure

Я занимаюсь разработкой облачного сервиса Azure, включающего несколько рабочих ролей, которые образуют кластер akka.net. Как я могу получить сплетни кластера и другие сообщения в конечном итоге в окнах консоли эмулятора вычислений?

1 ответ

Решение

В данный момент я работаю над кластером Akka.NET, который будет размещен как облачные службы Azure и столкнулся с той же проблемой.

Самый быстрый способ, который я нашел для достижения этой цели, - написать адаптер для ведения журналов (хотя я все еще относительно новичок в 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" ]

Она не идеальна, но, как вы можете видеть, она работает достаточно хорошо, поэтому вам не хочется задуматься над тем, что такое система актеров:

Скриншот

Другие вопросы по тегам