I suggest you use Log4Net instead, which has a lot more customizability.
Alternatively you could write your own TraceListener
implementation which put the timestamps on for you. You may even be able just derive from TextWriterTraceListener
and override Write
and WriteLine
:
public override void Write(string x)
{
// Use whatever format you want here...
base.Write(string.Format("{0:r}: {1}", DateTime.UtcNow, x));
}
public override void WriteLine(string x)
{
// Use whatever format you want here...
base.WriteLine(string.Format("{0:r}: {1}", DateTime.UtcNow, x));
}
As noted in comments, this ends up with date duplication for TraceInformation
, because that calls Write
twice. Using a "proper" logging framework is definitely better.
Trace.TraceInformation
, because it first callsWrite
to write the source, and thenWriteLine
to write the message, so the date is output twice. – Stony