Аспектно-ориентированное ведение журнала с Unity \ T4 \ что-нибудь еще - PullRequest
7 голосов
/ 03 сентября 2010

В моем приложении у нас есть журнал трассировки.У нас есть лог-операторы, добавленные в начале и в конце большинства важных методов, отслеживающих имя метода и значения параметров.Теперь эти операторы трассировки раздувают код, и читать их немного сложно.

Я думаю о том, как отделить этот аспект кода от моей бизнес-логики.

Сегодня я читал о структуре перехвата Unity.У меня была мимолетная мысль, можно ли перехватить вызовы моего метода с помощью стандартного регистратора и записать имя метода и значения параметров.Я не уверен, что можно читать параметры метода, используя отражение.Может ли Unity использоваться таким образом?

Другая идея состояла в том, чтобы запустить механизм генерации кода T4 для генерации операторов регистрации в начале и в конце всех методов, украшенных определенным атрибутом.Поскольку я очень мало знаю о T4, кто-нибудь знает, можно ли это сделать?

Есть ли другие способы отделить код регистрации от моей бизнес-логики?

Cheers, Unmesh

Ответы [ 2 ]

5 голосов
/ 03 сентября 2010

Использование PostSharp .

Они также перечисляют много альтернативных http://www.sharpcrafters.com/postsharp/alternatives

1 голос
/ 15 мая 2012

Да, вы можете использовать Unity, но вы должны использовать Unity "Interception extension". хорошая статья здесь

...