private static void LogProcessThread() { while (!ExitSignal) { try { if (LogQueue.IsEmpty) { Locker.WaitOne(); } using (FileStream LogFileStream = FileSystemStorageItemBase.Create(Path.Combine(ApplicationData.Current.TemporaryFolder.Path, UniqueName), StorageItemTypes.File, CreateOption.OpenIfExist).GetFileStreamFromFile(AccessMode.Exclusive)) { LogFileStream.Seek(0, SeekOrigin.End); using (StreamWriter Writer = new StreamWriter(LogFileStream, Encoding.Unicode, 1024, true)) { while (LogQueue.TryDequeue(out string LogItem)) { Writer.WriteLine(LogItem); Debug.WriteLine(LogItem); } Writer.Flush(); } } } catch (Exception ex) { Debug.WriteLine($"Error in writing log file: {ex.Message}"); } } }