しかし、あれだけでは最低限のメッセージしか表示されません。
この記事では、日時などを表示する方法について書きます。
メッセージ以外を表示するには、<listeners>の<add>のtraceOutputOptions属性を使用します。
例
<configuration> <system.diagnostics> <trace autoflush="true"> <listeners> <clear /> <!-- テキストファイル --> <add name="file" type="System.Diagnostics.TextWriterTraceListener" initializeData="TEXT-WRITER.log" traceOutputOptions="Callstack, DateTime, LogicalOperationStack, ProcessId, ThreadId, Timestamp" /> </listeners> </trace> </system.diagnostics> </configuration>
この属性を設定した時の出力例は、以下のようになります。
TraceTest.exe Information: 0 : TraceInformation ProcessId=5700 LogicalOperationStack= ThreadId=1 DateTime=2014-02-02T12:47:28.3398027Z Timestamp=6032477769 Callstack= 場所 System.Environment.GetStackTrace(Exception e, Boolean needFileInfo) 場所 System.Environment.get_StackTrace() 場所 System.Diagnostics.TraceEventCache.get_Callstack() 場所 System.Diagnostics.TraceListener.WriteFooter(TraceEventCache eventCache) 場所 System.Diagnostics.TraceListener.TraceEvent(TraceEventCache eventCache, String source, TraceEventType eventType, Int32 id, String message) 場所 System.Diagnostics.TraceInternal.TraceEvent(TraceEventType eventType, Int32 id, String format, Object[] args) 場所 TraceTest.TraceTest.Main(String[] args)
属性の詳しい説明については、TraceOutputOptions Valuesを参照してください。