11

次のようにトレース ソースを構成するアプリがあります。

        var traceSource = new TraceSource("MyTraceSource");
        traceSource.Switch = new SourceSwitch("MyTraceSwitch") { **Level = SourceLevels.Information** };

        var traceListener = new TextWriterTraceListener(logFilePath);
        traceListener.TraceOutputOptions = TraceOptions.DateTime;

        traceSource.Listeners.Clear();
        traceSource.Listeners.Add(traceListener);

        Trace.AutoFlush = true;

アプリは常にこのトレース ソースを使用してイベントをトレースします。SourceLevels.Information はトレース スイッチにハードコーディングされていることに注意してください。ここで、トレース スイッチ レベルを Verbose に変更する必要があります。app.config ファイルを介して達成することは可能ですか? 多くの xml-config を試しましたが失敗しました。ソース コードのみ app.config を変更できないことに注意してください。

4

4 に答える 4

7

このようなものを探しているかどうかはわかりませんが、次の xml 構成を使用したことがあります: change the trace switch level to Verbose.(App-Config)

  <configuration>
        <system.diagnostics>
            <switches>
            <add name="AppTraceLevel" value="4" /> //4 = Verbose
            </switches>
            // Here would be the Trace Tag with the Listeners (not important for your question)
        </system.diagnostics>
    </configuration>

多分それは助けます

于 2013-02-18T08:13:28.160 に答える
3

まあ -トレースを構成すると、次のことが明確に指定されます。

  <sources>
        <source name="System.ServiceModel" 
                switchValue="Information, ActivityTracing"
                propagateActivity="true">
        </source>
  </sources>

トレース レベルセクションでは、いくつかの詳細について説明します。

于 2013-02-18T08:14:09.967 に答える
2

上記の両方の答えには価値があります。これが完全な応答です。このセクションを構成に追加します。

<system.diagnostics>
<sources>
  <source name="MyTraceSource" switchValue="Information">
    <listeners>
      <add name="file" initializeData="c:\temp\logpath.txt" traceOutputOptions="DateTime" type="System.Diagnostics.TextWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

    </listeners>
  </source>
</sources>
</system.diagnostics>
于 2013-02-23T04:34:56.103 に答える