2

クラウド サービスで Azure Diagnostics を有効にして、ETW イベントをログに記録しようとしています。展開後、[診断構成] ダイアログで確認すると、ETW ログが有効になっているようです。また、すべての WAD* テーブルが作成されますが、diagnostics.wadcgfx ファイルで指定されたカスタム ETW テーブルはまったく作成されません。ロギングコードは次のとおりです-

public sealed class VstsEventSourceWriter : EventSource
{
    public void LogException(int eventId, string ErrorMessage, string ExceptionType, string ExceptionMessage, string Stacktrace)
    {
        if (IsEnabled())
        {
            WriteEvent(eventId, ErrorMessage, ExceptionType, ExceptionMessage, Stacktrace);
        }
    }
}

diagnostics.wadcfgx のコード -

    <EtwProviders>
      <EtwEventSourceProviderConfiguration provider="VstsEventSourceWriter" scheduledTransferPeriod="PT5M">
        <Event id="1" eventDestination="Table1" />
        <Event id="2" eventDestination="Table2" />
        <Event id="3" eventDestination="Table3" />
        <DefaultEvents eventDestination="DefaultTable" />
      </EtwEventSourceProviderConfiguration>
    </EtwProviders>

サービスでデバッグすると、isEnabled()常に False になります。そのWriteEventため、呼び出されることはありません。.NET Framework 4.5 で Azure 2.9 SDK を使用しています。このログが機能するために何をチェックすればよいですか? VS のプロパティから Worker ロールの診断を有効にし、ストレージ アカウントの詳細を指定して診断結果を保存しました。

4

0 に答える 0