method logging with transparent proxy

反応が遅すぎて申し訳ない。

source code を読んでみると logging したい instance を SqueezeProxy.Install() で SqueezeProxy の instance で wrap してる、というのが一番の仕掛けなのかな。

多分 ContextBoundObject を使うと constructor を捕まえられるので目的の class の instance をつくると同時に wrap するところまでやってしまう、ということが自動化できてうれしいというのが http://d.hatena.ne.jp/janus_wel/20101212/1292157491 で挙げてた URL の利点だと思う。っていうのがいまわかった。…遅ぇ。

で、 constructor を捕まえられないなら自分でそこをやってあげればいいじゃないということか…。属性指定 + wrap when instantiation という感じに別々の場所に logging 用の code が散らばってしまうのが難点だけど Singleton pattern とか Factory Method pattern あたりで instance の生成を隠蔽すると使いやすいかも。

反応してもらった上に code まで書いてもらってありがとうございました > id:ladybug さん。