サービスファブリックアプリケーションがすでにアジールサーバーに公開されている間に、または少なくともすべてのリクエストをキャプチャして保存している間に、そのリクエストがすべて表示されるかどうかを知りたいのですがいくつかの場所、私はソースとボディのような情報が必要です。リクエストログを見る方法サービスファブリックアプリケーション
ありがとうございます!
サービスファブリックアプリケーションがすでにアジールサーバーに公開されている間に、または少なくともすべてのリクエストをキャプチャして保存している間に、そのリクエストがすべて表示されるかどうかを知りたいのですがいくつかの場所、私はソースとボディのような情報が必要です。リクエストログを見る方法サービスファブリックアプリケーション
ありがとうございます!
すべてのリクエストとレスポンスを確認するには、まずそれらをどこかに記録する必要があります。ここで利用可能なアプローチは、以下のとおりです。
あなたは、あなたがあなたのSFに取り付けることによって、それを見ることができるようになります貴重な情報と をログに記録するServiceEventSourceを使用することができますVSのCloudExplorer 経由でクラスタここであなたは詳細情報 - Debug your Service Fabric application by using Visual Studioを見つけることができます。
あなたはAzureストレージにあなたのVM-sのアップロードログにインストールし、またAzureのアプリケーションの洞察やイベントにログを送信するためのオプションを持っている可能性がWAD拡張ハブチェックアウト:Event aggregation and collection using Windows Azure Diagnostics
EventFlowを使用して、あなたはサービスが解析や可視化プラットフォームへの、および/またはストレージに直接自分のログを送信持つことができます。他のライブラリ(ILogger、Serilogなど)も同じ目的で使用できますが、EventFlowはインプロセスログ収集とService Fabricサービスをサポートするために特別に設計されているという利点があります。 OMSが設定されている場合はOMS
と
また、ソースとボディー、または必要なものをキャプチャする方法はいくつかあります。以下は、いくつか見つけることができる:あなたは 、1つを持っている、とあなたがスタートアップクラスでミドルウェアを追加OnActionExecutedメソッド内
を必要とするすべての情報を記録していない場合は、あなたのコントローラクラスにActionFilterAttributeを適用
を -
public static void ConfigureApp(IAppBuilder appBuilder)
{
// Configure Web API for self-host.
HttpConfiguration config = new HttpConfiguration();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
appBuilder.Use(async (IOwinContext context, Func<Task> next) =>
{
await next.Invoke();
// log anything you want here
ServiceEventSource.Current.Message($"Response status code = {context.Response.StatusCode}");
});
appBuilder.UseWebApi(config);
}
あなたはどのようなサービスを作成するのですか?それはASP.NETコアサービスですか?またはWeb-Api? –
@KirylZステートレスASP.NETコアWeb-APIです。 –
Application Insightsインテグレーションを使用できます。https://stackoverflow.com/questions/45386898/azure-application-insights-for-service-fabricを参照してください。 –