示例#1
0
        public List <SystemLogEntry> GetLogEntries(string logName)
        {
            SystemLogEntriesPaged result  = new SystemLogEntriesPaged();
            List <SystemLogEntry> entries = new List <SystemLogEntry>();

            if (String.IsNullOrEmpty(logName))
            {
                return(entries);
            }

            EventLog log = new EventLog(logName);
            EventLogEntryCollection logEntries = log.Entries;
            int count = logEntries.Count;

            // iterate in reverse order
            for (int i = count - 1; i >= 0; i--)
            {
                entries.Add(CreateLogEntry(logEntries[i], false));
            }

            return(entries);
        }
示例#2
0
        public SystemLogEntriesPaged GetLogEntriesPaged(string logName, int startRow, int maximumRows)
        {
            SystemLogEntriesPaged result  = new SystemLogEntriesPaged();
            List <SystemLogEntry> entries = new List <SystemLogEntry>();

            if (String.IsNullOrEmpty(logName))
            {
                result.Count   = 0;
                result.Entries = new SystemLogEntry[] { };
                return(result);
            }

            EventLog log = new EventLog(logName);
            EventLogEntryCollection logEntries = log.Entries;
            int count = logEntries.Count;

            result.Count = count;

            // iterate in reverse order
            startRow = count - 1 - startRow;
            int endRow = startRow - maximumRows + 1;

            if (endRow < 0)
            {
                endRow = 0;
            }

            for (int i = startRow; i >= endRow; i--)
            {
                entries.Add(CreateLogEntry(logEntries[i], true));
            }

            result.Entries = entries.ToArray();

            return(result);
        }