public void LogMessage(string str, params object[] args) { try { var msgstr = DateTime.Now.ToString("hh:mm:ss:fff") + $" {Thread.CurrentThread.ManagedThreadId,2} {string.Format(str, args)}"; testContext?.WriteLine(msgstr); if (Debugger.IsAttached) { Debug.WriteLine(msgstr); } _lstLoggedStrings.Add(msgstr); if (LogOutputToDesktopFile) { if (string.IsNullOrEmpty(logFilePath)) { logFilePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "TestStressDataCollector.log"); //can't use the Test deployment folder because it gets cleaned up } File.AppendAllText(logFilePath, msgstr + Environment.NewLine); } } catch (Exception) { } }