我尝试使用.net framework 4将应用程序日志记录到c#中的windows事件日志,但当我插入日志条目时,TimeCreated字段(事件查看器Windows日志->应用程序-> ->详细信息->友好查看->系统)得到如下值
[SystemTime] 2012-03-28T11:07:12.000000000Z 正如你所看到的,亚秒级的精确度缺失了,尽管我可以在查看器中看到一些其他事件,其中也有数字在“。表示更精确的时间戳。
谢谢。
VS2010SP1,Win7/Server 2008 R2环境。
更新:
我可以提一下我尝试过
EventLog.WriteEntry("applicationName", "message", logEntryType, (int)eventId, (short)taskCategory);到目前为止,log4net的EventLogAppender。
更新2:
因此,使用ETW将事件插入到事件日志实际上会产生SystemTime具有亚秒级分辨率的事件。有没有可能这真的是必要的,对我的情况来说感觉有点过头了。
发布于 2013-08-11 11:20:52
微软终于为这个问题提供了解决方案。看看这篇博文:Announcing the EventSource NuGet Package – Write to the Windows Event Log。
发布于 2012-07-12 04:44:32
我找不到任何权威的东西(不幸的是),但它似乎Advapi32.dll的ReportEvent函数只跟踪到第二个。在我所见过的使用此函数的示例中,时间戳如您所示,就在第二个时间戳之前。
WriteEntry方法使用ADVAPI32.dll ReportEvent函数来写入事件日志,没有日期/时间值传递到该函数,因此我们必须假设它是一个不跟踪精度的内部函数。
https://stackoverflow.com/questions/9906542
复制相似问题