public void ClearLog_LogNameNullEmptyOrNotExist_Throws() { using (var session = new EventLogSession()) { Assert.Throws <ArgumentNullException>(() => session.ClearLog(null)); Assert.Throws <ArgumentNullException>(() => session.ClearLog(null, backupPath: GetTestFilePath())); Assert.Throws <EventLogException>(() => session.ClearLog("")); Assert.Throws <EventLogNotFoundException>(() => session.ClearLog(logName: nameof(ClearLog_LogNameNullEmptyOrNotExist_Throws))); } }
public void ClearLog_LogExists_Success() { using (var session = new EventLogSession()) { string log = "Log_" + nameof(ClearLog_LogExists_Success); string source = "Source_" + nameof(ClearLog_LogExists_Success); try { EventLog.CreateEventSource(source, log); using (EventLog eventLog = new EventLog()) { eventLog.Source = source; Helpers.Retry(() => eventLog.WriteEntry("Writing to event log.")); Assert.NotEqual(0, Helpers.Retry((() => eventLog.Entries.Count))); session.ClearLog(logName: log); Assert.Equal(0, Helpers.Retry((() => eventLog.Entries.Count))); } } finally { EventLog.DeleteEventSource(source); } session.CancelCurrentOperations(); } }
public void ClearLog(string logname, Queryobj o, string fname = "") { EventLogSession session = new EventLogSession( o.IP, o.domain, o.username, o.password, SessionAuthentication.Default); session.ClearLog(logname); Alerts.alerts.Clear(); }
public static void Main(string[] args) { int exitCode = 0; String logPath = "Application"; String query = "*/System[Level <= 3 and Level >= 1]"; // XPath selecting all events of level warning or higher. String targetFile = Environment.ExpandEnvironmentVariables("%USERPROFILE%\\export.evtx"); String targetFileWithMessages = Environment.ExpandEnvironmentVariables("%USERPROFILE%\\exportWithMessages.evtx"); try { // // Parse the command line. // if (args.Length > 0) { if (args[0] == "/?" || args[0] == "-?") { Console.WriteLine("Usage: LogManagement [<logname> [<exportFile> [<exportFileWithMessages>]]]\n" + "<logname> is the name of an existing event log.\n" + "When <logname> is not specified, Application is assumed.\n" + "EXAMPLE: LogManagement Microsoft-Windows-TaskScheduler/Operational archive.evtx archiveWithMessages.evtx\n"); Environment.Exit(0); } else { logPath = args[0]; if (args.Length > 1) { targetFile = args[1]; } if (args.Length > 2) { targetFileWithMessages = args[2]; } } } // // Get log information. // EventLogSession session = new EventLogSession(); EventLogInformation logInfo = session.GetLogInformation(logPath, PathType.LogName); Console.WriteLine("The {0} log contains {1} events.", logPath, logInfo.RecordCount); // // Export selected events from a log to a file. // if (File.Exists(targetFile)) { Console.WriteLine("Could not export log {0}: file {1} already exists", logPath, targetFile); Environment.Exit(1); } else { session.ExportLog(logPath, PathType.LogName, query, targetFile, true); Console.WriteLine("Selected events from the {0} log have been exported to file {1}.", logPath, targetFile); } // // Capture localized event information so that the exported log can be viewed on // systems that might not have some of the event providers installed. // if (File.Exists(targetFileWithMessages)) { Console.WriteLine("Could not archive log {0}: file {1} already exists", logPath, targetFileWithMessages); Environment.Exit(1); } else { session.ExportLogAndMessages(logPath, PathType.LogName, query, targetFileWithMessages, true, CultureInfo.CurrentCulture); Console.WriteLine("The export file {0} has been localized into {1} for archiving.", targetFileWithMessages, CultureInfo.CurrentCulture.DisplayName); } // // Clear the log. // session.ClearLog(logPath); Console.WriteLine("The {0} log has been cleared.", logPath); } catch (UnauthorizedAccessException e) { Console.WriteLine("You do not have the correct permissions. " + "Try re-running the sample with administrator privileges.\n" + e.ToString()); } catch (Exception e) { Console.WriteLine(e.ToString()); exitCode = 1; } Environment.Exit(exitCode); }