c# - Reading remote Windows event logs takes a very long time -


i have written c# program connects remote host , reads windows event logs.

system.diagnostics.eventlog eventlog = new system.diagnostics.eventlog(); eventlog.log = "application"; eventlog.machinename = "remotemachinename"; if (eventlog.exists(eventlog.log, eventlog.machinename)) {     foreach (eventlogentry entry in eventlog.entries)     {         console.writeline(entry.message);     } } 

however, due extremely large number of events, when run code, takes time fetch eventlog.entries.

update: there way read logs since particular time (say, logs created since past 1 hour) instead of reading logs? plan read logs , later filter logs created since past 1 hour, not solution.

the short answer no. eventlog class offers no way take last x entries or entries past y date or effect. additionally you're not allowed receive eventwritten event remotely me gives 1 simple far ideal work around limit logs size. if you're consistently pulling log don't need archival purposes anyway, if limit it's time/size you'll never reading data app remain fast.

as other folks suggested in comments other reasonable option build middle layer send eventwritten events on http or central server.


Comments