- - PR -
Traceでログをファイルに出力
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-06-06 16:54
こんにちは。
Traceクラスを使ってファイルにログを出力しようとしています。 ファイル出力のTextWriterTraceListenerを使っていますが、configファイルで 設定をしています。 以下Configファイルの内容 -------------------------- <configuration> <system.diagnostics> <switches> <add name="Level" value="4" /> </switches> <trace autoflush="true" indentsize="2"> <listeners> <add name="LogListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="AplLog.log"/> </listeners> </trace> </system.diagnostics> </configuration> ---------------------------- プログラムは以下のとおりです。 Trace.WriteLine("エラーが発生しました"); Trace.Close(); ここで一度Closeしてしまうと他でまた同じようにWriteLineメソッドを呼び出した場合、 「閉じている TextWriter に書き込むことはできません」という例外が発生 してしまいます。確かに、Closeしたのだから当然と言えば当然の例外ですが、 逆に、Closeしないとエラーにはなりませんがファイルをつかんでしまいます。 回避策というべきなのかわかりませんが、Configファイルから<trace>要素の部分 を削除し、プログラム中で TextWriterTraceListenerインスタンス生成 TraceListenerCollectionへの追加 書き込み Close() TraceListenerCollectionから削除 という処理をすればうまくいきます。 Configファイルの設定は残し、かつListenerをCloseしてもエラーにならない方法は ないのでしょうか? よろしくお願いいたします。 |
1