2011-03-12 192 views
1

当我使用Trace方法(.NET)来查看我的代码中发生了什么时,我需要在大多数情况下添加时间来输出字符串。这让我看到实际输出字符串何时被打印。有没有什么办法来自定义IDE(可能是一些选项或扩展),所以时间会自动添加?Visual-Studio输出窗口事件时间

回答

2

这需要代码。在你的程序中。它不是硬代码,没有调试器也能工作。如果你关心时间,这往往很重要。

看看,比如说,log4net自动添加这个。

+0

看起来像log4net太强大,我的小小的必要性。但你的答案让我想到只为我需要的Trace方法编写一个小包装。谢谢。 – 2011-03-12 21:58:00

2

根据您使用的跟踪方法以及您对格式的挑剔程度,您可能不需要编写其他代码。

您可以在跟踪侦听器的TraceOutputOptions属性上设置时间戳或日期时间TraceOption flag。您可以通过编程或通过配置文件来设置该属性。

日期时间标志与默认跟踪监听器给你的东西,看起来像这样:

prog1.vshost.exe信息:0:你好世界 日期时间= 2011-03-12T22:22:55.6902126Z

而时间戳是这样的:

prog1.vshost.exe信息:0:你好世界 时间戳= 9912943 10087

有关注意事项,请参阅TraceOutputOptions文档的备注部分 - 例如,标志不会影响Write()和WriteLine()。

0

你应该能够写一个小功能,像wchar_t * GetCurrTimestamp()并把它贴在你的TRACE宏调用,就像这样:

TRACE(_T("%s: My debug message.\r\n"), GetCurrTimestamp()); 
0

没有可用于VS2010右一组的Visual Studio扩展名为生产力电动工具通往VS2017的路。 2013年以后的功能之一是“时间戳保证金”,它只在调试输出窗口的每行开始处添加一个时间戳。扩展功能可以单独启用。

如果您使用的是VS2017,那么还有一个更轻巧的standalone扩展,只有一个功能。

最后,还有一个更加奇特的扩展名为VSColorOutput,它基于正则表达式对调试输出窗口进行颜色编码。也可以添加时间戳。

在编写所有这些选项时,只能在调试输出中工作。

我知道这个问题带有VS2010的标签,但我认为任何人阅读这个仍然使用该版本将在少数。