ErrorLogger.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using System;
  2. using System.IO;
  3. namespace Optimizer
  4. {
  5. internal static class ErrorLogger
  6. {
  7. internal static string ErrorLogFile = Path.Combine(Required.CoreFolder, "Optimizer.log");
  8. internal static void LogError(string functionName, string errorMessage, string errorStackTrace)
  9. {
  10. try
  11. {
  12. if (!File.Exists(ErrorLogFile) || (File.Exists(ErrorLogFile) && File.ReadAllText(ErrorLogFile).Trim() == string.Empty))
  13. {
  14. File.AppendAllText(ErrorLogFile, Utilities.GetWindowsDetails());
  15. File.AppendAllText(ErrorLogFile, Environment.NewLine);
  16. File.AppendAllText(ErrorLogFile, string.Format("Optimizer {0} - .NET Framework {1} - Experimental build: {2}", Program.GetCurrentVersionTostring(), Utilities.GetNETFramework(), Program.EXPERIMENTAL_BUILD));
  17. File.AppendAllText(ErrorLogFile, Environment.NewLine);
  18. File.AppendAllText(ErrorLogFile, Environment.NewLine);
  19. File.AppendAllText(ErrorLogFile, Environment.NewLine);
  20. }
  21. File.AppendAllText(ErrorLogFile, string.Format("[ERROR] [{0}] in function [{1}]", DateTime.Now.ToString(), functionName));
  22. File.AppendAllText(ErrorLogFile, Environment.NewLine);
  23. File.AppendAllText(ErrorLogFile, errorMessage);
  24. File.AppendAllText(ErrorLogFile, Environment.NewLine);
  25. File.AppendAllText(ErrorLogFile, Environment.NewLine);
  26. File.AppendAllText(ErrorLogFile, errorStackTrace);
  27. // seperator
  28. File.AppendAllText(ErrorLogFile, Environment.NewLine);
  29. File.AppendAllText(ErrorLogFile, Environment.NewLine);
  30. File.AppendAllText(ErrorLogFile, Environment.NewLine);
  31. }
  32. catch { }
  33. //finally
  34. //{
  35. // if (!Options.CurrentOptions.DisableOptimizerTelemetry)
  36. // {
  37. // TelemetryHelper.GenerateTelemetryData(functionName, errorMessage, errorStackTrace);
  38. // }
  39. //}
  40. }
  41. }
  42. }