タグ : Flash

【DooPHP】デバッグするときに便利なログビュアー

DooPHPには便利なログビュアーが標準で付いているので使ってみた。

各種設定を済ませ、エラーレベルにあったコメントをコントローラーに書いていくだけです。

■コントローラーに記述するエラーレベル一覧
Doo::logger()->alert(‘message…’);
Doo::logger()->emerg(‘message…’);
Doo::logger()->crit(‘message…’);
Doo::logger()->err(‘message…’);
Doo::logger()->warn(‘message…’);
Doo::logger()->notice(‘message…’);
Doo::logger()->info(‘message…’);
Doo::logger()->trace(‘message…’);

■common.conf.php
$config['LOG_PATH'] = ‘/var/logs/’;

■routes.php
$route['*']['/debug/:filename'] = array(‘MainController’, ‘debug’);

■MainController.php
public function debug(){
Doo::loadCore(‘app/DooSiteMagic’);
DooSiteMagic::showDebug($this->params['filename']);
}

■destructでログの書き込みを行う
public function __destruct(){
Doo::logger()->rotateFile(20);
Doo::logger()->writeLogs();
}

■ログを見る

http://ドメイン/debug/log

■ツールを使ってみる
DooPHPをダウンロードしたときに入っている、appディレクトリの
tools/AC_OETags.js
tools/DooDebugger.swf
tools/logviewer.html
を自分のサイトのtoolsにコピーしておく

http://ドメイン/tools/logviewer.html

にアクセスして、ログファイルを選択すると、
Flashで見やすいログビュアーになる。
これを選択する→http://ドメイン/debug/log

【PHP】JSON形式での出力

PHP5.2以上なら簡単にJSON出力を行える。
作成した配列をjson_encode関数を使用して出力するだけ。

JSONは単純に配列のみ表示しているだけなので、
XMLに比べて容量が少ないため読み込みや構築も早くなる。
ヘッダーはtext/javascriptにしないと、javascriptやFlashで受け取れないので注意。
ブラウザ経由だとデフォルトでtext/htmlだったかな?

$arr = array('1'=>'test1','2'=>'aaaaaa');
header( 'Content-Type: text/javascript; charset=utf-8' );
echo json_encode( $arr );