4

Azure プロジェクトを SDK バージョン 1.7 にアップグレードした後、ログがストレージに転送されなくなりました。私はこれを数時間見てきましたが、何が変わったのかわかりません (差分も役に立ちません)。

問題の位置を特定するには、新鮮な目が必要だと思います。ここで何か問題がありますか?1.7SDK で設定が変更されましたか?

Web.config

  <system.diagnostics xdt:Transform="Insert">
    <trace>
      <listeners>
        <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="AzureDiagnostics">
          <filter type="" />
        </add>
      </listeners>
    </trace>
  </system.diagnostics>

サービス定義

<Imports>
  <Import moduleName="Diagnostics" />
</Imports>

CloudConfig

<ConfigurationSettings>
      <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString"
               value="DefaultEndpointsProtocol=https;AccountName=[account];AccountKey=[key]" />
</ConfigurationSettings>

OnStart

var config = DiagnosticMonitor.GetDefaultInitialConfiguration();

//event log
config.WindowsEventLog.DataSources.Add("System!*");
config.WindowsEventLog.DataSources.Add("Application!*");
config.WindowsEventLog.ScheduledTransferPeriod = TimeSpan.FromMinutes(5);
config.WindowsEventLog.ScheduledTransferLogLevelFilter = LogLevel.Warning;


config.Logs.ScheduledTransferPeriod = System.TimeSpan.FromMinutes(5);
config.Logs.ScheduledTransferLogLevelFilter = LogLevel.Information;
DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", config);

return base.OnStart();
4

2 に答える 2

8

問題は web.config にあります。アセンブリのバージョンを 1.7.0.0 に更新する必要があります。

Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener、Microsoft.WindowsAzure.Diagnostics、バージョン = 1.7.0.0、カルチャ = ニュートラル、PublicKeyToken = 31bf3856ad364e35

于 2012-06-23T13:34:52.357 に答える
0

@Sandrinoの提案に従う必要があります。また、コードの問題もいくつか見られます。最終的に転送時間とログレベルを節約するために、 GetDefaultInitialConfiguration() で SetCurrentConfiguration() を使用していません。以下のように、これらの API のセットを使用する必要があります。

GetDefaultInitialConfiguration() 
SetCurrentConfiguration() 

また

GetCurrentConfiguration()
SetCurrentConfiguration()

アプリケーションでトレース メッセージの収集を開始すると問題が発生する可能性があるため、このコードを完成させた方がよいでしょう。

于 2012-06-23T16:12:54.557 に答える