まだTraceを使用することに絶対に取り組んでいますか?そうでない場合は、 Log4Netなどのより完全な機能を備えたロギングシステムを使用します。
ただし、本当に使用したい場合は、ファイルで使用されるをTrace
再構成できます。MSDNのドキュメントには、次のような例があります。TraceListener
app.config
TraceListener
<configuration>
<system.diagnostics>
<trace autoflush="false" indentsize="4">
<listeners>
<add name="fileLogger"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="LogFile.log" />
<remove name="Default" />
</listeners>
</trace>
</system.diagnostics>
</configuration>
TextWriterTraceListener
指定されたファイルにログをダンプします。(他にも利用可能なオプションがあります。)
または、プログラムでこれを行うこともできます。
Trace.Listeners.Add(new TextWriterTraceListener("foo.log"));
アプリが終了する前に、次のいずれかを使用して、トレースを明示的にフラッシュする必要がある場合があることに注意してください。
Trace.Flush();
またはより複雑な:
foreach (TraceListener listener in Trace.Listeners)
{
listener.Flush();
}
(これをテストするときにしなければならなかったので、私はそれについて言及するだけです!)
編集:コメントに記載されているように、書き込みのたびにリスナーがフラッシュされることに満足している場合(これにより、最後にフラッシュする必要はありませんが、パフォーマンスが低下する可能性があります)Trace.AutoFlush
、trueに設定できます(XMLを含む-autoflush
属性を参照してください) )。