using File_Watcher.Models; using System.Diagnostics; namespace File_Watcher.Helpers; internal static partial class HelperEventLog { internal static bool ClearEventLogs(AppSettings appSettings, ILogger logger) { if (Directory.Exists(appSettings.FileWatcherConfiguration.WatchDirectory)) { #pragma warning disable CA1416 using (EventLog eventLog = new("Security", Environment.MachineName)) eventLog.Clear(); logger.LogInformation("{logName} log cleared.", "Security"); foreach (EventLog eventLog in EventLog.GetEventLogs()) { try { eventLog.Clear(); eventLog.Dispose(); logger.LogInformation("{logName} log cleared.", eventLog.LogDisplayName); } catch (Exception ex) { logger.LogInformation("Error: {logName} - {message}.", eventLog.LogDisplayName, ex.Message); } } #pragma warning restore CA1416 logger.LogCritical("{Company}", appSettings.FileWatcherConfiguration.Company); } return true; } }