Common.Logging - как получить обратный вызов при записи журнала? - PullRequest
2 голосов
/ 27 мая 2011

У меня есть библиотека, которая использует Common.Logging.Мне нужно, чтобы мой код вызывался, когда происходит какая-либо запись в его журнал.

Ответы [ 3 ]

2 голосов
/ 27 мая 2011

Если вы не хотите что-либо менять, вы можете использовать AOP для перехвата вызова метода Common.Logging, но имейте в виду, что AOP добавляет много накладных расходов, поскольку за сценой он вводит код во время выполнения./ Расширить Common.Loggin и создать свой собственный метод Write, который вызывает делегат, который будет указывать на код, который вы хотите выполнить (тип обратного вызова)

1 голос
/ 27 мая 2011

если ваше ведение журнала было разработано для интерфейса, вы можете использовать шаблон Decorator для создания нового ведения журнала, которое будет вызывать исходное ведение журнала.

И затем вы можете зарегистрировать свой новый DecoratorLogging для имеющегося у вас ILogging (посредством внедрения зависимостей), чтобы любые потребители ILogging не знали, что они фактически используют ваш новый регистратор:)

0 голосов
/ 03 июня 2011

Настройка моего собственного адаптера в LogManager. Адаптер работал нормально.

...