Example #1
0
        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);
        }
Example #2
0
        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();
                    }
                }
            }
        }