/// <summary> /// Записывает сообщение в системный журнал событий /// </summary> /// <param name="totalElapsed">Время потраченное на анализ</param> /// <param name="startup">Версия VS для запуска</param> /// <param name="testSolutionInfo">Сущность для тестирования</param> /// <param name="entryType">Тип сообщения</param> public static void Log(TimeSpan totalElapsed, StartupConfigurationMode startup, TestSolutionInfo testSolutionInfo, EventLogEntryType entryType = EventLogEntryType.Information) { if (!SelfTesterSourceExists) { return; } var logDocument = new XDocument(); var rootElement = new XElement("Root", new XElement("Elapsed", totalElapsed.ToString(@"hh\:mm\:ss")), new XElement("StartupMode", startup.ToString()), new XElement("SolutionInfo", new XElement("Solution", testSolutionInfo.AbsSolutionFileName), new XElement("ConfigMode", testSolutionInfo.ConfigurationMode.ToString()), new XElement("Platform", testSolutionInfo.Platform), new XElement("PreprocessorType", testSolutionInfo.PreprocessorType))); logDocument.Add(rootElement); using (var selfTesterEventLog = new EventLog(SelfTesterEventLogName, ".", SelfTesterSourceName)) { selfTesterEventLog.WriteEntry(logDocument.ToString(), entryType); } }