私のapp.configでは、3つのトレースレベル(スイッチ?)を設定したいと思います。 コードのデバッグバージョンでは、冗長スイッチをアクティブにする必要があります。リリースでは警告が欲しいです。特殊なケースでは、私のアプリケーションユーザはすべてのトレースを無効にするために設定ファイルを変更することができます。は理解できません.net 2010のトレースとapp.config
デバッグトレースをコンソールに出力したいのに対し、リリースはログファイルだけをトレースします。私が欠けている何かがあります
Public Shared Sub HandleException(ByVal ex As Exception)
Trace.WriteLine(ex.Message, "Error")
[...]
:その後のコードで私はこのようなトレースを呼び出す
[...]
<system.diagnostics>
<sources>
<!-- This section defines the logging configuration for My.Application.Log -->
<source name="debug" switchName="debug">
<listeners>
<add name="FileLog"/>
<add name="console"/>
</listeners>
</source>
<source name="release" switchName="release">
<listeners>
<add name="FileLog"/>
</listeners>
</source>
<source name="silent" switchName="none">
<listeners/>
</source>
</sources>
<switches>
<add name="debug" value="Verbose"/>
<add name="release" value="Warning"/>
<add name="none" value="Off"/>
</switches>
<!--<sharedListeners>
<add name="FileLog" type="System.Diagnostics.TextWriterTraceListener" traceOutputOptions="DateTime" initializeData="felix.log"/>
<add name="console" type="System.Diagnostics.ConsoleTraceListener" initializeData="false" />
</sharedListeners>-->
<trace autoflush="false" indentsize="4">
<listeners>
<add name="FileLog" type="System.Diagnostics.TextWriterTraceListener" traceOutputOptions="DateTime" initializeData="felix.log"/>
<add name="console" type="System.Diagnostics.ConsoleTraceListener" initializeData="false"/>
<remove name="Default"/>
</listeners>
</trace>
</system.diagnostics>
[...]
:
私は、」次のように書かれましおもう。どのように右のスイッチを使用するTraceメソッドに言いますか?私のアプリケーションユーザは、トレースを許可するか、またはディセーブルにするためにconfigファイルをどのように変更できますか?
ありがとうございました。
大変ありがとうございます。私はすべてを読んでしまいました。暗闇の中で光を当てました:)記事/ブログ記事/ウェブページを書くことをお勧めします。 。あなたがしたら、私にリンクを送ってください!再度、感謝します。 – vulkanino
私は最終的にそれを理解しましたが、IDを使用してTraceEventメソッドに渡すことはできません。トレースソースを使用して、どこに(リスナー)とどのくらいの量(スイッチ)を記録するかを設定し、イベントタイプ(TraceEventType)をプログラムで指定すると、IDを指定する必要がありますか? – vulkanino
イベントIDに関する1つのアイデアについては、この質問の最初の回答を参照してください:http://stackoverflow.com/questions/576185/logging-best-practices "その他の推奨事項"を参照してください。その提案に続いて、(TraceSource、TraceEventType、またはメッセージに関係なく)すべてのログメッセージを分類できます。特定の種類のメッセージの出力を照会/検索するのは比較的簡単です。たとえば、イベントID 1001が「ファイルから読み取る」を意味し、1002が「ファイルに書き込む」を意味する場合、ファイルの読み取りまたは書き込みに対応するすべてのログメッセージを出力で見つけることができます。 – wageoghe