C#で(単純な)トレースを追加する方法 [閉まっている]


122

私が書いているC#アプリケーションにいくつかのトレースを導入したいと思います。悲しいことに、私はそれがどのように機能するか本当に本当に思い出せないので、参照品質を備えたチュートリアルを時々チェックしたいと思います。以下を含める必要があります。

  • TraceListenerを登録するために追加するApp.config / Web.configもの
  • 呼び出しアプリケーションでそれを設定する方法

私たちがリンクすべきuberチュートリアルを知っていますか?

編集:グレン・スレイブンは私を正しい方向に向けました。これを内部のApp.config / Web.configに追加します<configuration/>

<system.diagnostics>
    <trace autoflush="true">
      <listeners>
        <add type="System.Diagnostics.TextWriterTraceListener" name="TextWriter"
             initializeData="trace.log" />
      </listeners>
    </trace>
</system.diagnostics>

これにより、TextWriterTraceListener送信先のすべてをキャッチするが追加されますTrace.WriteLine

編集: @DanEsparzaはTrace.TraceInformationTrace.TraceWarningと同じ方法でメッセージをフォーマットできるので、のTrace.TraceError代わりにを使用する必要があることを指摘しTrace.WriteLineましたstring.Format

ヒント:あなたは任意のリスナーを追加しない場合、あなたはまだのSysinternalsのDebugViewプログラム(とトレース出力を見ることができますDbgview.exe):http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx


4
Trace.TraceInformationWriteLineの代わりになどを使用することを強くお勧めします。これらのメンバーを使用すると、メッセージをのようにフォーマットできますstring.Format
Dan Esparza 2014年

回答:



5

私は約5つの異なる回答と上記のすべてのブログ投稿をフォローしましたが、それでも問題が解決しませんでした。オブジェクトを文字列で初期化して「名前付きソース」にするTraceSource.TraceEvent(TraceEventType, Int32, String)メソッドを使用してトレースしている既存のコードにリスナーを追加しようとしましたTraceSource。私にとっての問題は、このソースをターゲットとするソース要素とスイッチ要素の有効な組み合わせを作成していなかったことです。と呼ばれるファイルにログを記録する例を次に示しますtracelog.txt。次のコードの場合:

TraceSource source = new TraceSource("sourceName");
source.TraceEvent(TraceEventType.Verbose, 1, "Trace message");

次の診断設定でログを正常に記録しました:

  <system.diagnostics>
    <sources>
      <source name="sourceName" switchName="switchName">
        <listeners>
          <add
              name="textWriterTraceListener"
              type="System.Diagnostics.TextWriterTraceListener"
              initializeData="tracelog.txt" />
        </listeners>
      </source>
    </sources>
    <switches>
      <add name="switchName" value="Verbose" />
    </switches>
  </system.diagnostics>

コードスニペットが機能しません。
有用なビー

お詫び@usefulBee、これはコードスニペットではなく、自動的にコードとしてマークアップされました。これは、App.configまたはWeb.configの一部となる構成コードです。
Shaun

3

DotNetCodersにはスターター記事があります:http : //www.dotnetcoders.com/web/Articles/ShowArticle.aspx? article=50 、彼らは設定ファイルでスイッチを設定する方法とコードを書く方法について話します、しかしそれはかなり古い(2002年)。CodeProjectに関する別の記事がありますhttp : //www.codeproject.com/KB/trace/debugtreatise.aspxですが、同じ時代です。CodeGuruには、カスタムTraceListenerに関する別の記事があります。http//www.codeguru.com/columns/vb/article.php/c5611

最近の記事は考えられません。うまくいけば、ここにいる誰かが何かを持っているでしょう


最初のリンクは404に
向かいます。– Kcoder
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.