PEAR::DBについて質問させて下さい。
PEAR::DBのquery()または、execute()で実行されたSQL文をログに出力したいと考えています。

現在は、下記のようにquery()またはexecute()を実行する直前でログに出力しています。
$sql = "select * from table";
$logger->debug($sql); // ここでログに出力
$db->query($sql);

しかし、このような場合は実行されたSQL文を出力できません。
$sql = "insert into table (col1, col2) values(?, ?)";
$params = array(
'val1',
'val2'
);
$sth = $db->prepare($sql);
$logger->debug($sql);
$db->execute($sth, $params);

この場合は、"insert into table (col1, col2) values(?, ?)"がログに出力されますが、
実際に実行されたSQL文(?が実際の値に置換された状態)をログに出力できません。

プレースホルダを使用した場合に、プレースホルダが置換された状態のSQLを取得するには
どうすればいいでしょうか。

[環境]
PostgresSQL 8.0
PHP 4.3.11
Apache 2.0.52
Windows2000 SP4

よろしくお願いします。