ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

デバッグログ出力メソッド呼び出しをロード時に削除する

2007-11-17 23:59:31 | PG(Java)

Javaで、指定されたデバッグレベルに応じてデバッグログ出力メソッドの呼び出し自体を削除するライブラリー(エージェント?)を作ってみた!

Javaでは、デバッグモードやリリースモードといったビルドの種類に応じてデバッグログ出力メソッドの呼び出し自体をしたりやめたりするという切り替えは出来ない。なので呼び出す側の引数内の演算自体は常に行われてしまう為、実際に出力されない場合には無駄だった。
これをクラスのロード時に取り除くものが夢だった、というか欲しかったというわけ。これが出来たのはJavassistのおかげ~♪

ログ出力メソッドや削除対象クラスを示すのにアノテーションを使ってみたのでJDK1.5以降用だけど。アノテーションって、たぶんこういう事の為にあるんだよね。
実際のところ、JDK1.4でも実現できると思うし。(アノテーション削って、foreach使うのやめて、Listにキャストを付ければ…)
でもいい加減JDK1.5以降に移行しようよ、という願望を込めてみた^^;

それにしてもこういうログ出力削除って、絶対“車輪の再発明”(誰かが既に作ってるはず)だよな~。きっと探し方が悪いだけだと思う…。



最新の画像もっと見る

コメントを投稿