プログラム

C#プログラミングレッスン

C#での .NETプログラミングを易しく丁寧に解説するメールマガジンです。「C#プログラミング・レッスン」で、.NETプログラミングをマスターしましょう。

全て表示する >

【C#プログラミングレッスン】 No.136-TraceSource(4)

2007/07/31

┏━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━┳━┳━┓
┃☆┃ C#プログラミングレッスン                         ┃_┃□┃×┃
┣━┻━━━━━━━━━━━━━━━━━━━━━━━━━┻━┻━┻━┫
┃ TraceSource(4)                                             No.136┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

前回の続きです。

■──────────────────────────────────
■ トレースリスナーを指定する。

今度は、構成ファイルにリスナを追加します。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.diagnostics>
    <sources>
        <source name="MyTraceSource01" switchName="sourceSwitch01"
            switchType="System.Diagnostics.SourceSwitch">
          <listeners>
            <remove name="Default" />
            <add name="ConsoleFile"
                 type="System.Diagnostics.ConsoleTraceListener" />
          </listeners>
        </source>
        <source name="MyTraceSource02" switchName="sourceSwitch02"
                switchType="System.Diagnostics.SourceSwitch"/>
    </sources>
    <switches>
        <add name="sourceSwitch01" value="Warning"/>
        <add name="sourceSwitch02" value="Error"/>
    </switches>
  </system.diagnostics>
</configuration>

この例では、MyTraceSource01 のリスナーを ConsoleTraceListener に設定し
ています。
まず、

  <remove name="Default" />

で、デフォルトのリスナーを削除し、その後に、 

  <add name="ConsoleFile" 
       type="System.Diagnostics.ConsoleTraceListener" />
で、ConsoleTraceListener に追加しています。

MyTraceSource02 については、指定をしていませんので、デフォルトのリスナー
が利用されます。

ここが、従来の Traceクラスと大きく異なる点ですね。
例えば、プログラムのどのメソッドが呼ばれたかといったトレース情報は、テ
キストファイルに、エラー発生の情報は、イベントログにという使い分けが可
能になります。

※ プログラムコードは、前回と同じものですので割愛します。

■──────────────────────────────────
■ 2つめのトレースリスナーを指定する。

では、MyTraceSource02 には、TextWriterTraceListener を指定してみましょう。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.diagnostics>
    <sources>
        <source name="MyTraceSource01" switchName="sourceSwitch01"
                switchType="System.Diagnostics.SourceSwitch">
            <listeners>
               <remove name="Default" />
               <add name="ConsoleFile"
                  type="System.Diagnostics.ConsoleTraceListener" />
            </listeners>
        </source>
        <source name="MyTraceSource02" switchName="sourceSwitch02"
                switchType="System.Diagnostics.SourceSwitch">
            <listeners>
               <remove name="Default" />
               <add name="TextFile"
                    type="System.Diagnostics.TextWriterTraceListener"
                    initializeData="c:\temp\myTrace.log"/>
            </listeners>
        </source>
    </sources>
    <switches>
        <add name="sourceSwitch01" value="Warning"/>
        <add name="sourceSwitch02" value="Information"/>
    </switches>
  </system.diagnostics>
</configuration>


initializeData には、リスナーのコンストラクタに渡す初期化データを記述し
ます。TextWriterTraceListener の場合には、TextWriterTraceListener が書
き込むファイルの名前を指定します。



┌─┬─────────────────────────┬─┬─┬─┐
│☆│ C#プログラミングレッスン  (ぼぼ週刊)            │_│□│×│
├─┴─────────────────────────┴─┴─┴─┤
│ Published by Gushwell.                                           │
│ Copyright (C) 2004-2007 Gushwell All rights reserved.            │
│ Microsoft MVP Visual Developer - Visual C#(Apr 2005 - Mar 2008)  │
│-------------------- Gushwell's Page ---------------------------- │
│ 窓際プログラマーの独り言  :http://blog.livedoor.jp/gushwell/    │
│ 窓際プログラマーの読書三昧:http://gushwell.jugem.jp/            │
│ C#デザインパターン :                                             │
│  『増補改訂版Java言語で学ぶデザインパターン入門 / 結城 浩(著)』  │
│   のサンプルコードをC#に移植したものを掲載しています。           │
│   移植後のコードの公開は、結城氏の了解を得ています。             │
│   http://blog.livedoor.jp/gushwell/archives/50333227.html        │
└─────────────────────────────────┘

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       【ポコカ】がおサイフ携帯の新しい利用方法を提案します。

  お店のクーポン・会員カード・スタンプカードをケータイにひとまとめ

         ☆ おサイフケータイとお店をつなげるポータルサイト ☆
           Pococa!(R)ポコカ URL: http://www.pococa.com/ct/
---------------------------------------------------------------------

規約に同意してこのメルマガに登録/解除する

メルマガ情報

創刊日:2004-08-12  
最終発行日:  
発行周期:ほぼ週刊  
Score!: 非表示   

コメント一覧コメントを書く

この記事にコメントを書く

上の画像で表示されている文字を半角英数で入力してください。

※コメントの内容はこのページに公開されます。発行者さんだけが閲覧できるものではありません。 コメントの投稿時は投稿者規約への同意が必要です。

  • コメントはありません。