AFAIK, кажется, что сложно отследить состояние перезапуска ВМ, которое не возвращает идентификатор операции.
При входе в текущие библиотеки управления Azure для .NET используется базовая AutoRest трассировка клиента службы.
Создайте класс, который реализует Microsoft.Rest.IServiceClientTracingInterceptor
. Этот класс будет отвечать за перехват сообщений журнала и передачу их в любой механизм ведения журнала, который вы используете.
class ConsoleTracer : IServiceClientTracingInterceptor
{
public void ReceiveResponse(string invocationId, HttpResponseMessage response) { }
}
Перед созданием объекта Microsoft.Azure.Management.Fluent.Azure
инициализируйте созданный выше IServiceClientTracingInterceptor
, вызвав ServiceClientTracing.AddTracingInterceptor()
и установите ServiceClientTracing.IsEnabled
в true . При создании объекта Azure включите методы .WithDelegatingHandler()
и .WithLogLevel()
, чтобы подключить клиента к трассировке клиента службы AutoRest.
ServiceClientTracing.AddTracingInterceptor(new ConsoleTracer());
ServiceClientTracing.IsEnabled = true;
var azure = Azure
.Configure()
.WithDelegatingHandler(new HttpLoggingDelegatingHandler())
.WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
.Authenticate(credentials)
.WithDefaultSubscription();
Для получения более подробной информации вы можете обратиться к этой статье .