2015-03-12 13 views
5

Piszę nową usługę Cloud w .NET przy użyciu Azure SDK 2.5. Jestem świadomy, że nastąpiły pewne istotne zmiany w diagnostyce with the 2.5 SDK rekesae.Azure SDK, Trace.Information i WADLogsTable

Skąd się biorą informacje powodujące konflikt to, czy nadal mogę używać usługi Azure Diagnostics do przechwytywania danych śledzenia. * Do WADLogsTable w usłudze Azure Table Storage?

Jestem świadomy, że mogę używać ETW jako alternatywy, ale teraz o to proszę.

Zgodnie z artykułem this nadal mogę używać funkcji śledzenia, aby przechwytywać dzienniki za pomocą programu Azure Diagnostics 1.3 - co, jak rozumiem, zostało dostarczone z pakietem SDK 2.5.

Niestety nie mogę go uruchomić.

app.config mojej roli pracownika wygląda następująco:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
<system.diagnostics> 
    <trace> 
     <listeners> 
      <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=2.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
       name="AzureDiagnostics"> 
       <filter type="" /> 
      </add> 
     </listeners> 
    </trace> 
</system.diagnostics> 
</configuration> 

przez cały kod w mojej roli pracownika Mam kodu, który wygląda tak kalka:

Trace.TraceInformation("Something happened"); 

Moja diagnostics.wadcfg publicznego plik wygląda następująco:

<?xml version="1.0" encoding="utf-8"?> 
<PublicConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration"> 
<WadCfg> 
    <DiagnosticMonitorConfiguration overallQuotaInMB="4096"> 
    <Logs scheduledTransferPeriod="PT1M" scheduledTransferLogLevelFilter="Information" /> 
    </DiagnosticMonitorConfiguration> 
</WadCfg> 
<StorageAccount>mystorageAccount</StorageAccount> 
</PublicConfig> 

Użyłem tego pliku do skonfigurowania servic diagnostyki e rozszerzenie za pomocą polecenia PowerShell:

Set-AzureServiceDiagnosticsExtension 

Nie utworzono nigdy WADLogsTable. Jeśli włączę inne usługi diagnostyczne, takie jak licznik perfumer, wówczas odpowiednie tabele (WADPerformanceCountersTable) zostaną utworzone i zapełnione.

Używam:

  • Visual Studio 2012
  • NET 4.5.1
  • Azure PowerShell (najnowsza v od Microsoft Web Platform Installer)
  • Azure SDK 2,5

Czy ktoś może mnie wyrzucić z nędzy? Wiele Dzięki

+0

Czy wypróbowaliście instrukcje Trace.TraceError z domyślną konfiguracją dla scheduledTransferLogLevelFilter = "Error"? – schadr

+0

Nie mam, ale co sprawia, że ​​myślisz, że to by coś zmieniło? –

+0

Czy użyłeś stylu Trace.Trace *, logując się pomyślnie z nową wersją SDK? Czy możesz potwierdzić, że to powinno zadziałać? –

Odpowiedz

0

Właśnie stworzyliśmy domyślną rolę pracownika, który jest produkujących dzienników śledzenia i zauważyłem jedną różnicę w config publicznej

<?xml version="1.0" encoding="utf-8"?> 
<PublicConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration"> 
<WadCfg> 
    <DiagnosticMonitorConfiguration overallQuotaInMB="4096"> 
    <WindowsEventLog scheduledTransferPeriod="PT1M"> 
     <DataSource name="Application!*" /> 
    </WindowsEventLog> 
    <Logs scheduledTransferPeriod="PT1M" scheduledTransferLogLevelFilter="Information" /> 
    </DiagnosticMonitorConfiguration> 
</WadCfg> 
<StorageAccount>mystorageAccount</StorageAccount> 
</PublicConfig> 
2

Jak ty stosującego? W tej samej konfiguracji (VS2012, pakiet Azure 2.5 SDK) widziałem tylko, że WADLogsTable jest tworzona za pomocą kreatora "Publish" Visual Studio, który najwyraźniej konfiguruje dla ciebie rozszerzenie diagnostyczne. Zobacz:

https://msdn.microsoft.com/en-us/library/azure/dn873976.aspx

Diagnostyka konfiguracji muszą być stosowane oddzielnie po wdrożeniu - Bo Azure SDK w wersji 2.5 wykorzystuje model wewnętrzny, rozszerzenie diagnostyki i konfiguracji są już częścią pakietu wdrażania i musi być stosowane osobno po wdrożeniu.Visual Studio zastosuje rozbudowę i konfigurację dla Ciebie podczas korzystania z kreatora Opublikuj wdrożyć aplikacja [...]

nie byłem w stanie uzyskać cmdlets PowerShell do pracy (nie wkładać dużo wysiłku w to, szczerze), ale jako obejście, kiedy wdrożyłem przy użyciu kreatora "Opublikuj" VS, utworzono WADLogsTable i mogłem zobaczyć, że moje logi przepływają. Tak się nie stało, gdy pakowałem i przesyłałem przez portal Azure.

Może tak być w przewidywalnej przyszłości; sytuacja nie uległa zmianie w pakiecie 2.6 SDK (chociaż naprawili wiele problemów z diagnostyką w wersji 2.5): https://msdn.microsoft.com/en-us/library/azure/dn186185.aspx

+0

Wdrażamy stamtąd z wiersza poleceń przy użyciu PowerMoss CmdLets. –

+0

@ user1454265, a następnie, w jaki sposób możemy osiągnąć, jeśli chcemy opublikować za pomocą portalu zarządzania Azure, a nie VS? –

Powiązane problemy