コード例 #1
0
        /// <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);
            }
        }