私は持っています:
Trace.WriteLine("info", "category");
私の労働者の役割を通して。Azure Compute Emulator UIでローカルに実行すると、この出力が表示されます。
ストレージに書き込まずに、Azureに公開された同じ役割に対して、この同じ出力をライブで確認する方法はありますか?
私は持っています:
Trace.WriteLine("info", "category");
私の労働者の役割を通して。Azure Compute Emulator UIでローカルに実行すると、この出力が表示されます。
ストレージに書き込まずに、Azureに公開された同じ役割に対して、この同じ出力をライブで確認する方法はありますか?
DebugView が役立つ場合があります。
このためのすぐに使用できるソリューションは多少制限されています(通常、RDP、SQLやBLOBストレージへの書き込み、または3番目のプロセスでイメージをポーリングしてログを別の場所にコピーする必要があります)。ただし、tcpソケットを介してログエントリを書き込むカスタムトレースリスナーの作成を妨げるものは何もありません。
私たちは、Azure側で次のようなものを組み合わせて、非常に迅速に会社で立ち上げました。
http://msdn.microsoft.com/en-us/library/ff647545.aspx
http://robjdavey.wordpress.com/2011/02/11/asynchronous-tcp-client-example/
次に、エントリを取得するために、アクセス可能なボックス(netcatなどを使用することもできます)に単純なリスナーが必要です。
ホストにリモートデスクトップすると、おそらく使用しているファイルを見つけることができます。これはちょっと面倒なので、ホストの各セットにバックグラウンド スレッドを用意して、ログ メッセージをオフィスに送り返しています。別のプロセスがそれらをファイルにダンプし、LogExpertを使用して調べます。すべてのロギングはTrace ではなく log4netを介して行われるため、これを行うことができます。
隣に座っているヘッドレス マシンの出力を取得しようとしていた場合と同じオプションがすべてあります。ここで言及されているすべての方法に加えて、Service Bus トレース リスナーの使用をお勧めしたいと思います。それはまだサンプルにあるはずです。それを自分のロールに接続し (もう少し洗練されている場合は、config を介してオン/オフを切り替えることができます)、ローカル リスナーをオンにします。私の経験では、それはかなりうまく機能し、ファイアウォールや TCP 接続について心配する必要はありません。
ご存じのように、トレース ログは Azure VM で作成されるため、次のことを確認したい場合:
もう 1 つのオプションは、ワーカー ロールで http ポートを開くことです (はい、確かにそれを実行し、非常に小さなサード パーティの Web サーバーを実行して、ログを直接 Web にエクスポートできます。提案はしませんが、それでもオプションです)。