如何按顺序写入window事件日志

How to write window event log by order

我正在尝试向 windows 事件日志中写入一些消息:

static void Main(string[] args)
{
    for(int i=0; i< 10; i++)
    {
        WriteSystemEventLog(i.ToString());
    }
    Console.ReadKey();
}

public static void WriteSystemEventLog(string msg, EventLogEntryType type = EventLogEntryType.Error)
{
    EventLog myLog = null;
    try
    {
        myLog = new EventLog();
        myLog.Source = "My application";
        myLog.WriteEntry(msg, type);
    }
    catch (Exception e)
    {
        Console.WriteLine("Error occured during write system event log, error message: " + e.Message);
    }
    if (myLog != null)
    {
        myLog.Dispose();
        myLog = null;
    }
}

打开事件日志,按日期排序,预计: 0 1 2 3 ...

实际: 2 3 1 9 0 ...

加1秒睡眠可以解决这个问题,请问还有其他办法吗?

遗憾的是,系统事件日志中的事件仅按一秒的分辨率排序,因为它们使用 UNIX 时间戳 - 自 1970 年开始以来的整秒数。这似乎是您无法做到的系统限制很多关于。