Аспектно-ориентированное ведение журнала с Unity\T4\ что-нибудь еще

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

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

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

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

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

Ура, Unmesh

2 ответа

Решение

Используйте PostSharp.

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

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

Другие вопросы по тегам