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