Аспектно-ориентированная регистрация с Unity\T4\что-то еще

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

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

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

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

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

Cheers, Unmesh