コード例 #1
0
        static IEnumerable <SecurityLog> GetData2()
        {
            string[] xPathRef = new string[] {
                "Event/System/Provider/@Name",
                "Event/System/TimeCreated/@SystemTime",
                "Event/System/Execution/@ProcessID",
                "Event/System/Task",
                "Event/System/Opcode",
                "Event/System/Keywords",
            };
            var reader = new EventLogReader(new EventLogQuery("Security", PathType.LogName));

            for (var evt = reader.ReadEvent(); evt != null; evt = reader.ReadEvent())
            {
                var rec = evt as EventLogRecord;
                yield return(new SecurityLog(rec, xPathRef));
            }
            SecurityLog.ClearCache();
        }
コード例 #2
0
        static void Main1(string[] args)
        {
            var logs   = new List <SecurityLog>();
            var reader = new EventLogReader(new EventLogQuery("Security", PathType.LogName));

            Stopwatch sw = Stopwatch.StartNew();

            for (var evt = reader.ReadEvent(); evt != null; evt = reader.ReadEvent())
            {
                var rec = evt as EventLogRecord;
                var log = new SecurityLog(rec);
                logs.Add(log);
            }
            SecurityLog.ClearCache();

            sw.Stop();
            Console.WriteLine((sw.ElapsedMilliseconds / 1000.0) + "秒");
            Console.WriteLine(logs.Count + "件");
        }