Мы используем Enterprise Library 4.1 для ведения журнала (и обработки исключений / криптографии).
Кто-нибудь знает хороший способ определения настроенного уровня ведения журнала во время выполнения?Я написал класс LogUtility для выполнения вызовов журналирования и вызываю его в соответствии с этим примером:
LogUtility.LogVerbose(
string.Format("Processing event {0}", currentEvent.EventIDImported),
MethodBase.GetCurrentMethod().Name,
this.GetType().Name
);
Я понимаю, что на самом деле он не будет зарегистрирован в файл, если не установлен уровень ведения журналадо соответствующего уровня, в app.config в моем случае.Но я на самом деле не хочу, чтобы параметры метода, то есть имена методов и типов, а в некоторых случаях и записываемые в журнал реальные строки, оценивались без крайней необходимости.
Похоже ли это на действительную проблему?Наше приложение может иметь десятки миллионов итераций и точек регистрации.Если возможно, я бы хотел установить флаг на основе настроенного уровня журнала и проверить это перед выполнением вызова метода выше.
РЕДАКТИРОВАТЬ - я думаю, что в приведенном выше примере я мог бы жестко кодировать метод ивведите имена при каждом вызове.Но я все еще хотел бы знать, есть ли способ определения уровня.