У меня есть настольное приложение c # 3.5 winforms, работающее на рабочем сервере. Оно использует log4net для регистрации.
Требование заключается в том, что пользователь должен иметь возможность переключать уровень ведения журнала во время выполнения ... например: если уровень переключен на уровень "INFO", то приложение должно писать только журналы уровня информации.
Кроме того, бизнес не хочет изменять уровень журнала, перейдя на сервер prod и отредактировав xml-файл log4net.
Какой из следующих подходов подойдет для этого? Или есть какой-нибудь другой лучший подход?
Иметь win-форму «Admin», которая позволит пользователю изменять уровень журнала.
Пользователь будет входить в приложение со своего рабочего стола.
1. И затем в приложении я могу загрузить log4net xml из сетевого пути, используя log4net api, сохранить изменения с новым уровнем, предоставленным из пользовательского интерфейса, а затем повторно создать экземпляр класса регистратора с новым уровнем.
или
2.В базе есть 2 новые таблицы .... справочная таблица "A" с идентификаторами и именами уровня. И еще одна таблица "B" с именем пользователя, идентификатором текущего уровня и датой изменения.
Обновить уровень, представленный на экране пользовательского интерфейса в таблице B.
Используя .net Sqlcachedependency, всякий раз, когда значение в таблице B изменяется, заново создайте экземпляр класса регистратора с новым уровнем.
Спасибо.