.net開発者のみなさん。 時々、こんな事を思ったりしませんか? あー、全部のメソッドをフックして開始時と終了時にトレースログ吐きたいー。 特に、 運用チーム > バグガー、バグガー ボク > どういったオペレーションで発生したのでしょうか? 運用チーム > バグガー、バグガー ボク > なにそれ怖い。 って状況の時に。 AOPの範疇なのでしょうが、そんな設計が全くされていないソフトウェアが目の前にあるのが現状でしょう。 今から全部のメソッドにログを仕込む? ・・・無理。 今回はそんな時に使える黒魔術をお教えしましょう。 ※黒魔術なので、まっとうにコードを書きたい人は見ない方が良いかもしれません。 黒魔術をするために、Mono.Cecilというライブラリを使用します。 まず、Monoとはいったい何なのかというと、 マルチプラットフォームで.NET Freamwork