1

私は何時間も成功せずに非常に単純なタスクを達成しようとしています。後で分析できるように、メッセージを Windows Azure ストレージに記録したいだけです

私がこれまでに試したこと:

次のように診断を有効にしました。

ここに画像の説明を入力

その後、次の行を my に入れていますApplication_Start:

Trace.TraceError("My Error");

Windows Azure ストレージにログが記録されることを期待しています。しかし、そうではありません。次に、最初にクラスを最初に構成する必要があることをここで読みました。DiagnosticMonitorしかし、私はこのクラスが非推奨であると真剣に考えています..Microsoft.WindowsAzure.StorageClientバージョン1.7のアセンブリにあり(他のものは1.8または2.0)、参照を追加すると、CloudStorageAccountこのアセンブリには既に持っているクラスがあるため、すべての参照があいまいになります。他のアセンブリMicrosoft.WindowsAzure.Storage(より新しい)。への参照を追加するべきではないと本当に思いますStorageClient

簡単に言えば..私はたくさんのドキュメントを読んでいて、どこにも行きません。

お願いできますか..何をするのか正確に教えてください。とても感謝しています。ありがとう。

PS: VS 2012 と Windows Azure Tools を使用しています 2012 年 10 月

4

1 に答える 1

1

(スクリーンショットで)行ったことにより、診断が有効になります。次に行う必要があるのは、コードで診断を構成することです。これを行うには、次の手順に従います。

  1. 次のコード行を web.config に追加します。

      <system.diagnostics>
    <trace>
      <listeners>
        <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="AzureDiagnostics">
          <filter type=""/>
        </add>
      </listeners>
    </trace></system.diagnostics>
    
  2. ロールの OnStart() メソッドで診断を構成します。コードはトレース ログ専用です。

        DiagnosticMonitorConfiguration config = DiagnosticMonitor.GetDefaultInitialConfiguration();
    
        // Set an overall quota of 8GB.
        config.OverallQuotaInMB = 4096;
        // Set the sub-quotas and make sure it is less than the OverallQuotaInMB set above
        config.Logs.BufferQuotaInMB = 512;
        TimeSpan myTimeSpan = TimeSpan.FromMinutes(2);
        config.Logs.ScheduledTransferPeriod = myTimeSpan;//Transfer data to storage every 2 minutes
    
        // Filter what will be sent to persistent storage.
        config.Logs.ScheduledTransferLogLevelFilter = LogLevel.Undefined;//Transfer everything
        // Apply the updated configuration to the diagnostic monitor.
        // The first parameter is for the connection string configuration setting.
        DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", config); 
    

これは診断のために行う必要があります。

古いストレージ クライアント ライブラリと新しいストレージ クライアント ライブラリの混乱について: 現在、Windows Azure Diagnostics モジュールは古いストレージ クライアント ライブラリに依存しています ( Microsoft.WindowsAzure.StorageClient.dll)。したがって、このライブラリがプロジェクトで参照されていることを確認する必要があります。C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-10\refフォルダから手動で参照を追加できます。Microsoft.WindowsAzure.Storage.dll古いストレージ クライアント ライブラリと新しいもの ( )の両方を使用している場合、混乱が生じます。したがって、CloudStorageAccount オブジェクトが適切にスコープされていることを確認する必要があります。

WADLogsTableすべての設定が完了すると、ストレージ アカウントで作成された名前のテーブルと、そのテーブルに入力されるデータを確認できるはずです。

于 2013-03-28T03:02:31.610 に答える