使用TraceOptions.Timestamp时如何格式化时间戳数据

时间:2011-10-07 15:53:05

标签: c# trace tracesource

如何格式化设置TraceOutputOptions = TraceOptions.Timestamp时打印的时间戳数据?

我得到类似的东西: 时间戳= 41329240725(写入输出文本文件的实际值)

EDITED: 我想要像10:22:34.32938这样的东西。我是如何配置TextWriterTraceListener来实现的呢?

2 个答案:

答案 0 :(得分:2)

您真的想记录邮件的写入时间吗?如果是,您想使用TraceOptions.DateTime。请注意,根据MSDN,时间写为UTC。

如果你想要更多地控制时间的格式(包括你希望它用UTC以外的东西表示),那么你可能已经编写了自己的自定义TraceListener,或者找到一个可以做你想做的事情

System.Diagnostics的一个有用的补充是Ukadc.Diagnostics。有了它,您可以轻松地将自定义格式添加到日志消息中(类似于您可以使用log4net和NLog执行的操作)。

以下是我过去提供的用于记录您可能会觉得有用的问题的答案的其他链接:

When should I use Tracing vs Logger.NET, Enterprise Library, log4net or Ukadc.Diagnostics?

When do I need more than one TraceSource in code?

答案 1 :(得分:0)

根据这个页面

http://msdn.microsoft.com/en-us/library/a10k7w6c.aspx

TraceOptions Timestamp返回刻度数,因此要将刻度转换为需要执行的时间:

DateTime date = new DateTime(41329240725);
string FormattedDate =  date.ToShortDateString();

然而41329240725,对于蜱来说似乎有点小(我希望这只是一个例子)