2

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

我得到类似的东西:Timestamp=41329240725(写在输出文本文件上的实际值)

已编辑:我想要类似 10:22:34.32938 的内容。我应该如何配置 TextWriterTraceListener 来实现这一点?

4

2 回答 2

2

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

如果您想更好地控制时间的格式(包括如果您希望它以 UTC 以外的其他方式表示),那么您可能已经编写了自己的自定义 TraceListener,或者找到一个可以满足您需求的 TraceListener。

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

以下是我过去提供的一些其他答案链接,用于记录您可能会发现有用的问题:

我应该什么时候使用 Tracing vs Logger.NET、Enterprise Library、log4net 或 Ukadc.Diagnostics?

我什么时候在代码中需要多个 TraceSource?

于 2011-10-07T17:28:20.907 回答
0

根据这个页面

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

TraceOptions Timestamp 返回刻度数,因此要将刻度转换为时间,您需要执行以下操作:

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

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

于 2011-10-07T17:15:46.883 回答