Traceを使用してログを出力するときの設定例(TraceListener)でTraceListenerの設定方法を書きました。
しかし、あれだけでは最低限のメッセージしか表示されません。
この記事では、日時などを表示する方法について書きます。
メッセージ以外を表示するには、<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を参照してください。