Просмотр строк трассировки рабочей роли и файлов журналов

У меня есть рабочая роль .Net (Azure), и мое приложение записывает в локальные файлы журналов в такой форме:

StreamWriter sw = File.AppendText("aaa.log");
sw.WriteLine("Error occured"");
sw.Close();

Как я могу увидеть этот файл журнала?


person Tal Yaari    schedule 06.05.2012    source источник
comment
См.: msdn.microsoft.com/en-us/library/windowsazure/ hh411534.aspx   -  person jessehouwing    schedule 06.05.2012
comment
См.: stackoverflow.com/questions/5995226/   -  person jessehouwing    schedule 06.05.2012


Ответы (1)


Вот прямой ответ на ваш вопрос выше, как вы представили:

  • Если вы просто создадите пустую рабочую роль Windows Azure из шаблона и добавите приведенный выше код точно в функцию OnStart(), а затем протестируете свое приложение в эмуляторе вычислений:

    public override bool OnStart()
    {
        // Set the maximum number of concurrent connections 
        ServicePointManager.DefaultConnectionLimit = 12;
        StreamWriter sw = File.AppendText("aaa.log");
        sw.WriteLine("Error occured");
        sw.Close();
    
        return base.OnStart();
    }
    
  • Вы увидите, что файл aaa.log создан в указанном ниже месте, и вы можете сопоставить сведения о папке, поскольку имя моего тестового приложения — «TestWorkerRole»:

    _your_drive_and_Folder_path\TestWorkerRole\TestWorkerRole\csx\Debug\roles\WorkerRole1\approot\aaa.log

  • Я также могу убедиться, что в нем также есть текст «Произошла ошибка», поэтому код выполняется, как и предполагалось.

  • Когда вы развернете точно такое же приложение в Windows Azure, код запустится, и вы обнаружите, что тот же файл aaa.log создается по адресу:

    E:\approot\bin

Вышеупомянутый подход является правильным, НЕ СОВСЕМ, и вы не должны его использовать по следующим основным причинам:

  • Виртуальная машина Windows Azure не сохраняется, поэтому все, что вы создаете, может быть недоступно позже, поэтому у вас должен быть способ переместить ваши данные.
  • Windows Azure предоставляет особый способ добавления диагностики в ваше приложение, при котором все журналы создаются в определенном фиксированном месте на вашей виртуальной машине Windows Azure, а затем в зависимости от ваших настроек (хранилище Azure и время для передачи журналов) эти журналы передаются из Azure. ВМ в хранилище Windows Azure.
  • Вы должны использовать метод диагностики Windows Azure, чтобы добавить любой пользовательский метод журнала, который описан в ссылке ниже:

http://msdn.microsoft.com/en-us/library/hh180875.aspx

person AvkashChauhan    schedule 07.05.2012