Включить диагностику приложения веб-сайта Azure

У меня есть веб-сайт Windows Azure (построенный с веб-страницами ASP.NET), и в конфигурации включена «Диагностика приложений» как для хранилища BLOB-объектов, так и для хранилища файлов:

Диагностика приложений

Затем я добавил несколько операторов Trace на страницу Razor, чтобы проверить это.

@{
    System.Diagnostics.Trace.TraceInformation("INFORMATION");
    System.Diagnostics.Trace.TraceWarning("WARNING");
    System.Diagnostics.Trace.TraceError("ERROR");
}

Однако это приводит к полному отсутствию журналов ни в файловой системе, ни в большом двоичном объекте. На всякий случай я попытался добавить различные параметры в свой файл web.config (показан ниже), хотя из документацию Я прочитал, не кажется, что это должно быть необходимо. Но это не имеет значения - я по-прежнему не вижу журналов диагностики ни в файловой системе, ни в блобе.

  <system.web>
    <compilation debug="true" targetFramework="4.5">
      <assemblies>
        <add assembly="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      </assemblies>
    </compilation>
    <trace enabled="true"/>
    <httpRuntime targetFramework="4.5" />
  </system.web>
  <system.diagnostics>
    <trace>
      <listeners>
        <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
     name="AzureDiagnostics">
        </add>
        <add name="WebPageTraceListener"
             type="System.Web.WebPageTraceListener, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
      </listeners>
    </trace>
  </system.diagnostics>

Есть ли что-то еще, что мне нужно настроить, что я пропустил? Может быть, это просто не работает для проектов веб-страниц ASP.NET?


person Mark Heath    schedule 26.01.2015    source источник


Ответы (1)


Чтобы включить трассировку со страницы бритвы, добавьте в свой файл web.config следующее: <system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" compilerOptions="/define:TRACE" warningLevel="1" /> </compilers> </system.codedom>

Источник: http://blogs.msdn.com/b/webdev/archive/2013/07/16/tracing-in-asp-net-mvc-razor-views.aspx

Обратите внимание, что трассировка из ваших файлов cs должна работать без каких-либо изменений в web.config.

person Amit Apple    schedule 27.01.2015
comment
отлично, работает отлично. Я обнаружил, что это необходимо и для файлов cs в папке App_Code. - person Mark Heath; 28.01.2015