KLog について
ウノウでFlash開発する時に密かに利用している ログツール「KLog」を一般公開します。
どうして作ったのか?
こんにちは、クジラ飛行机(酒徳2号)です。 私は、ウノウで、Flashの開発や、 Windowsのクライアントアプリの開発を行っています。 今回、私がFlashの開発時に使っているログ出力システム KLog を紹介します。
ActionScript3.0(Flex2)になって、ようやく、Flashにも まともなプログラミングの開発環境がつきましたが、 Flash MX2004/8/MTASCの開発は、デバッグがやり辛くて困っていました。
特に、MTASCというフリーのFlashコンパイラを利用して開発をしていると、 trace()命令も使えないので、デバッグが非常に困難でした。
そこで、作ったのが、KLog です。
klog - ActionScript2.0 デバッグシステム posted by (C)クジラ飛行机(峰酒徳)
KLogを使って嬉しいことは、以下の点です。
- Flash の trace() 命令よりも使いやすいログ出力
- メッセージの出力はもちろん、オブジェクトのプロパティ一覧を出力可能
- ログの出力先を簡単に変更できる
- KLogServer に出力
- Flashの画面内に出力
- Firefoxのアドイン Firebug のコンソールに出力
- ログ専用アプリ KLogServer が便利
- ログ内の検索が簡単
- 実行途中に変数の値を調べたり値を書き換えることができる
- 常に最前面に表示させておくことが可能(意外と便利)
KLogの使い方
基本的に、KLogは、ActionScript2.0クラスの KLog.as と、 ログを受信するWindows用ツールの KLogServer.exe の2つで構成されます。 KLog.as は、ActionScript2.0 のクラスです。 ログを出力したいプロジェクトに組み込んで使います。
手順1:KLogServerの起動
アーカイブに同梱されている KLogServer.exe を実行します。 初めての実行では、ファイアウォールの設定画面が出るので、 サーバーの起動を許可してください。
手順2:プロジェクトへの組み込み
プロジェクトと同じフォルダに、KLog.as をコピーします。
そして、プロジェクト内で、始めに実行されるコードに、 KLogの設定を記述します。(この手順は省略できます。) 始めに、どこにログを出力するのかを指定します。
// ログを始める
KLog.isTest = true; // KLog をはじめる
KLog.use_textfield = false; // Flash内の画面に出力するか?
KLog.use_server = true; // KLogServer に出力するか?
KLog.use_firebug = false; // FireBugに出力するか?
デフォルトでは、WindowsアプリのKLogServerに出力されます。
そして、ログを出力したいところで、以下のように記述します。
KLog.write("ログに出力する内容");
これだけです。もし、オブジェクトのプロパティ一覧を表示したい場合は、 以下のように書きます。
KLog.print_r( object );
そして、デバッグが終わって、ログ出力機能をオフにしたい場合は、 以下のように KLog.isTest = false と書くと、 ログ出力機能を行わないようになります。
KLog.isTest = false;
備考
Flash Player 7以降に対応していますので、Wii 対応アプリや、 FlashLite2.0アプリのデバッグにも最適です。
KLog のダウンロード
KLogは以下よりダウンロードできます。