kazpgmの日記

『プログラム自動作成@自動生成』作成の日記

TOOL更新_DBマネージャクラス。SQLログの修正

TOOL更新_DBマネージャクラス。SQLログの修正
1.昨日の実行結果のSQLログを見たらこんなだった。「DbManager.php line=153」は『$this->_logger->outSqlLog("[$this->_uid $func ]", $sql); // ユーザID + メソッド名 + SQL』のライン。これでは意味のないところを指している。何とかしないと。

■20100310_sql.log
2010/03/10 01:20:25 DEBUG (7): [uid dbFetchOne ]: C:\Tools\XAMPP
\xampplite\htdocs\samples\kaz\.kazphp\common\DbManager.php line=153 : SELECT count(*) 
FROM m_logininfo l

2.修正した。ログも今度は「\LogininfoUtil.php line=95」になった。これは『$count = $db->dbFetchOne( $sql );』のライン。これでわかりやすくなった。

■20100311_sql.log
2010/03/11 01:13:00 DEBUG (7): [uid dbFetchOne ]: C:\Tools
\XAMPP\xampplite\htdocs\samples\kaz\application\
admin\models\util\db\LogininfoUtil.php line=95 : SELECT count(*) 
FROM m_logininfo l

そのた:”[uid”のuidは管理者ならログインID、ユーザならユーザIDを入れる予定。まだロジックを入れていないので仮に”uid”とだしてみた。このIDを抽出すると誰がやったとき出たログか分けられる。これで複数人でのデバックがやりやすくなる。・・・・そうだ、DEBUGログ、エラーログにも入れたらいい。あとで考えよう。<=備忘録

■AppLogr.php(Log出力クラス) 修正 http://d.hatena.ne.jp/kazpgm/20100118/1263836416を修正した。内容は以下の様。
<<修正前>>

foreach($backtrace as $key => $vals ){
    $prg .= $vals["file"]. " line=" .$vals["line"] . ' ';
    break; // 最初の1件だけにしておく
}

<<修正後>>

// [2]固定にする。[0]はDbManagerの_outSqlLogメソッド、[1]はDbManagerの該当メソッド、
// [2]がDbManagerを呼び出したメソッド
$prg .= $backtrace[2]["file"]. " line=" .$backtrace[2]["line"] . ' ';


3/10 0:00-02:00