0

ログがストレージテーブルにアップロードされるようにAzureDiagnosticsを構成しました。コードからTrace.TraceXxxを使用していますが、すべて正常に機能します。

ここで、Role OnStart()メソッドとOnStop()メソッドからトレースを追加しようとしています。エミュレーターで実行しているときにデバッグウィンドウに行が表示されるので、トレースが機能することを知っています。しかし、クラウド展開からは、これらのトレースラインがテーブルにアップロードされることはないようです。私の推測では、テーブルにあるトレース行はw3wp.exeソースからのものだけなので、TraceSourcesにいくらか関連していると思います...ヒントはありますか?

ありがとう

4

2 に答える 2

1

あなたが言ったように、WaIISHost.exe.configを使用してトレースリスナーを追加できますが、それに加えて、コードにトレースリスナーを追加することもできます(Microsoft.WindowsAzure.Diagnostics.dllへの参照が必要です)。

public class WebRole : RoleEntryPoint
{
    public override void Run()
    {
        var listener = new Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener();
        Trace.Listeners.Add(listener);

        ...
    }
}
于 2012-04-15T18:23:36.200 に答える
0

診断を設定する別の方法は、構成ファイルを使用することです。最近VSソリューションを作成した場合は、トレースリスナーの診断プラグインと構成が自動的に作成されます。構成ファイル(diagnostics.wadcfg)を使用すると、さまざまなデータソース用に記述する必要のあるコードはありません。開始できるリンクとサンプルファイルは次のとおりです。

http://msdn.microsoft.com/en-us/library/gg604918.aspx

現在、カスタムパフォーマンスカウンターを含めることはできません。4GBを超えるバッファーを何かに割り当てようとしないようにする必要があります(0のままにしておくことができます)。そうしないと、失敗する傾向があります。

時間間隔の形式(PT1Mなど)に注意してください。これはシリアル化形式であるため、PTXMはX分、PTXSはX秒です。これをコンテンツとしてマークし、常にVisual Studio(プロジェクトのルートに配置)にコピーして、パッケージ化する必要があります。

そして、ここに診断をセットアップする3つの方法へのリンクがあります http://msdn.microsoft.com/en-us/library/windowsazure/hh411541.aspx

ランジス
http://www.opstera.com

于 2012-04-15T19:23:32.910 に答える