public static bool Clear() { lock (_logLock) { LoggingWrapper.Log(LoggingWrapper.LogArea.Debug, LoggingWrapper.LogType.Message, $"Clearing log file at {SaveFilePath}"); try { if (File.Exists(SaveFilePath)) { File.Delete(SaveFilePath); LoggingWrapper.Log(LoggingWrapper.LogArea.Debug, LoggingWrapper.LogType.Message, "Log file deleted"); } return(true); } catch (Exception ex) { LoggingWrapper.Log(LoggingWrapper.LogArea.Debug, LoggingWrapper.LogType.Error, "Couldn't clear the old log file!"); LoggingWrapper.Log(LoggingWrapper.LogArea.Debug, ex); } } return(false); }
public static void Save() { lock (_logLock) { if (_firstRun) { _firstRun = false; Clear(); } var timeSinceLastSave = DateTime.Now - _lastSaveTime; if (timeSinceLastSave > UserModSettings.Settings.Logging_ToFile_Duration) { _lastSaveTime = DateTime.Now; if (_queue.Count > 0) { LoggingWrapper.Log(LoggingWrapper.LogArea.File, LoggingWrapper.LogType.Message, "Log save point"); try { File.AppendAllText(SaveFilePath, string.Join("\n", _queue.ToArray()) + "\n"); } catch (Exception ex) { LoggingWrapper.Log(LoggingWrapper.LogArea.Debug, LoggingWrapper.LogType.Error, "Couldn't write log to file!"); LoggingWrapper.Log(LoggingWrapper.LogArea.Debug, ex); } _queue.Clear(); } } } }