3

Azure トレース ログに疑問があります。Worker ロールがあり、特定のイベントをログに記録したい

アプリケーションをローカルにデプロイすると、Cerebrata Cerebrata Cloud Storage を使用して Trace を読み取ることができます。しかし、滞在中または本番環境にデプロイするときはできません。同じストレージ アカウントを使用しています。

ワーカーコード:

public override bool OnStart()
{
        // Set the maximum number of concurrent connections
        ServicePointManager.DefaultConnectionLimit = 12;

        DiagnosticMonitorConfiguration diagnosticMonitorConfiguration = DiagnosticMonitor.GetDefaultInitialConfiguration();
        diagnosticMonitorConfiguration.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(1.0);
        diagnosticMonitorConfiguration.Logs.ScheduledTransferLogLevelFilter = LogLevel.Verbose;
        CloudStorageAccount cloudStorageAccount = CloudStorageAccount.DevelopmentStorageAccount;
        DiagnosticMonitor diagnosticMonitor = DiagnosticMonitor.Start(cloudStorageAccount, diagnosticMonitorConfiguration);
        return base.OnStart();
    }

     public override void Run()
    {
        // This is a sample worker implementation. Replace with your logic.
        Trace.WriteLine("UpdateWorker entry point called", "Information");

        while (true)
        {
            Thread.Sleep(5000);
            Trace.WriteLine("Working", "Information" + DateTime.Now);
        }
    }

App.config

        <?xml version="1.0" encoding="utf-8" ?>
      <configuration>
        <system.diagnostics>
          <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>
      </configuration>

どこを見ればいいですか?このコードに何か問題がありますか?

ありがとう!

4

2 に答える 2

4

問題は次の行にあると思います

CloudStorageAccount cloudStorageAccount = CloudStorageAccount.DevelopmentStorageAccount;

コンピューター上のローカル開発ストレージを参照していますが、クラウドで実行している場合は使用できません。Azure Storage への適切な接続文字列を使用し、それをログの書き込みに使用します。

于 2011-08-16T09:37:32.090 に答える
0

Azure Storage 接続文字列「ServiceConfiguration.cscfg」ファイルを追加するのを忘れた可能性があります

<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=<Storage Account Name>;AccountKey=<Storage Account Key>" />
</ConfigurationSettings>
于 2014-03-12T06:12:44.530 に答える