2016-06-15 11 views
-2

私はユーザーがDEBUGフラグを使ってWebApi2にリクエストを送信できるソリューションを用意しています。フラグが設定されている場合、WebApi2はdebug文をログに記録します(log4netを使用)。デバッグの追跡

コード内のフラグを追跡するにはどうすればよいですか?私は、デバッグステートメントをログする必要があるかどうかを判断するために、すべての関数に渡す必要があるという事実は好きではありません。 log4netまたはWebApi2のいずれかと一緒に行う方法はありますか?

セッションのようなものは素晴らしいものですが、RESTfulデザインの原則に反します。私はエレガントなソリューションがあるかどうか疑問に思っていました。

答えて

-1

私はThreadContext.Stacks ["Debug"]を使用しました。私の問題を解決したPush( "True")。

0

なぜクライアントはサーバーのログレベルを制御しますか? log4netは、通常はとなりますので、サーバー側とサーバー側でログレベルを変更することができます。

言われているように、あなたは本当に細かいレベルを必要としますか? DBに保存されている何らかのユーザープロファイルがあれば、これを格納する場所かもしれません。

あなたの質問に厳密に答えるには、より洗練された解決策がcustom headerを使用している可能性があります。

+0

log4netでこれを行う方法はありますか?私はボックスからの他の要求に影響を与えずに、単一の要求(実行パス)のログレベルを変更できるとは思わない。 – Husain

+0

よく、あなたは、デバッグ、情報、警告などを記録することができます。前回と同じようにログレベルを使用している場合は、実際に記録される*最小レベル*について、謝罪します。 –

+0

もう一度。それが意味するものなら、log4netは要求ごとのログ・レベルを追跡しません。 – Husain