///<summary> ///Get this configuration set from a specific config file ///</summary> public LogWriterConfigSection Open(string path) { if ((object)instance == null) { if (path.EndsWith(".config", StringComparison.InvariantCultureIgnoreCase)) spath = path.Remove(path.Length - 7); else spath = path; Configuration config = ConfigurationManager.OpenExeConfiguration(spath); if (config.Sections["LogWriterConfigSection"] == null) { instance = new LogWriterConfigSection(); config.Sections.Add("LogWriterConfigSection", instance); config.Save(ConfigurationSaveMode.Modified); } else instance = (LogWriterConfigSection)config.Sections["LogWriterConfigSection"]; } return instance; }
// Процедура сохранения параметров логирования private void SaveLogParameters() { // Инициализируем конфиг для лог файла LogWriterConfigSection logWriterConfigSection = new LogWriterConfigSection(); logWriterConfigSection.Open(); // Сохраним в него наши данные logWriterConfigSection.logDir = textBoxLogDir.Text; logWriterConfigSection.logFileName = textBoxFileName.Text; logWriterConfigSection.maxLogAge = (int)numericUpDownMaxLogAge.Value; logWriterConfigSection.queueSize = (int)numericUpDownQueueSize.Value; if (checkBoxUseExternalLibrary.Checked) logWriterConfigSection.externalLogLib = null; else logWriterConfigSection.externalLogLib = textBoxExternalLogLib.Text; // Зафиксируем в файле logWriterConfigSection.Save(); // Обновим параметры у нашего logWriter-а logWriter.LogDir = textBoxLogDir.Text; logWriter.LogFileName = textBoxFileName.Text; logWriter.MaxLogAge = (int)numericUpDownMaxLogAge.Value; logWriter.QueueSize = (int)numericUpDownQueueSize.Value; }