#c# #.net #logging #common.logging
#c# #.net #ведение журнала #Обычный.ведение журнала
Вопрос:
У меня есть библиотека, которая использует Common.Ведение журнала. Мне нужно, чтобы мой код вызывался при любой записи в его журнал.
Ответ №1:
Если вы не хотите ничего менять, вы могли бы использовать AOP для перехвата вызова метода Common.Ведение журнала, но имейте в виду, что AOP добавляет много накладных расходов, поскольку за сценой он вводит код во время выполнения.В противном случае вы могли бы обернуть / расширить Common.Войдите в систему и создайте свой собственный метод записи, который вызывает делегат, который укажет на код, который вы хотите выполнить (вид обратного вызова)
Ответ №2:
если ваше ведение журнала было разработано для интерфейса, вы можете использовать шаблон декоратора для создания нового ведения журнала, который будет внутренне вызывать исходное ведение журнала.
И затем вы можете зарегистрировать свой новый DecoratorLogging в ILogging (через внедрение зависимостей), который у вас есть, чтобы ни один пользователь ILogging не знал, что они на самом деле используют ваш новый регистратор 🙂
Ответ №3:
Настройка моего собственного адаптера в LogManager.Адаптер работал нормально.