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

本文关键字:格式化 时间戳 数据 Timestamp TraceOptions | 更新日期: 2023-09-27 18:10:37

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

我得到这样的东西:Timestamp=41329240725(写入输出文本文件的真实值)

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

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

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

如果你想对时间的格式有更多的控制(包括如果你想用UTC以外的其他格式表示时间),那么你可能需要编写自己的自定义TraceListener,或者找到一个可以做你想做的事情的TraceListener。

一个有用的系统添加。"诊断"为Ukadc.Diagnostics。有了它,你可以很容易地为日志消息添加自定义格式(类似于你可以用log4net和NLog做的事情)。

这里有一些其他的链接,这些链接是我过去提供的关于日志问题的答案,你可能会觉得有用:

我应该在什么时候使用trace vs Logger。. NET,企业库,log4net或Ukadc.Diagnostics?

在代码中何时需要多个TraceSource ?

根据本页

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

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

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

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