私のAzureアプリケーションでは、アプリケーションが何をしているかを追跡するためにTrace.WriteLine()呼び出しを振りかざしています。一部のトレースメッセージのみがログに記録される
私が困惑しているのは、これらのうちのいくつかがログに記録し、他の記録は記録しないということです。例えば、私のWorkerロールのOnStart()メソッドからのコードの、このスニペット:
Trace.WriteLine("WorkerRole: creating storage tables", "Information");
CloudStorageAccount account = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");
CloudTableClient tableClient = account.CreateCloudTableClient();
if (tableClient.CreateTableIfNotExist("Devices")) {
Trace.WriteLine("WorkerRole.OnStart: Devices table created", "Information");
}else{
Trace.WriteLine("WorkerRole.OnStart: Devices table not created. Already exists?", "Information");
}
最初のトレースが記録されます。 ifステートメントのTrace呼び出しのいずれもログに記録されません。その後に実行されるメソッドのTraceメソッドがログに記録されます。
アイデア?
おそらく何かがあなたの背後に例外を投げたでしょうか? –
私はそれも考えていますが、私はほとんどの作品の周りに投げることができるtry-catchラッパーを持っています。トレースのいくつかはログに記録されているようですが、ほんの数分後に記録されます。 – onnoweb
私はこの問題の重複があるかもしれないし、そうでないかもしれないと投稿した:http://stackoverflow.com/questions/7522762/why-doesnt-windows-azure-diagnostics-reliably-log – Jaxidian