[s2container-php5:52] Re: [質問]S2DaoのMetaDataクラスとログ出力について

Yusuke Hata nowel @ xole.net
2006年 9月 28日 (木) 22:47:25 JST


ハタです。

"Yoshinari Ueyama" <ueyama @ gmail.com> wrote:

> **植山です。まずはお礼。
> [S2Dao.PHP5のExample実行時のWARNING]の件では、回答ありがとうございました。
> 
> さらに、質問させてください。下記2件です。
> 
> 1)XXXMetaDataクラス関連
> (snip)
> 3種類のファイルがそろってなくても大丈夫なのはなぜでしょう?
> 特に困るわけではありませんが興味ありますので教えてください。

*MetaDataクラスについては、PDOの処理で補えない部分やDBMSで共通でない部分の
値(SQL)を発行しているクラスになります。
MySQLにおいてはPDOの標準機能で取得できるため、クラスの数が少ないです。
ex) S2Dao_StandardDbMetaData.class.php

ですが、ProcedureMetaDataについては、PDOを越えてSQLの世界ですので
ほぼ、どのDBMSにも必要となっています。

> 2)ログについて
> S2Dao.PHP5のサンプルを実行すると、下記のようにDebugログが出力されます。
> ログが出力されないようにしたいと思い、試行錯誤しました。
>   ・ログレベルをINFOにする。
> define('S2CONTAINER_PHP5_LOG_LEVEL', S2Container_SimpleLogger::INFO);
> と、DEBUG--->INFOと書き換えれば良い。
> 
> ーー>成功。

これについては、log4jにおいても言えると思いますが
S2Container_SimpleLoggerで取得したloggerについてはdebugレベルで出力しています。(一部info含む)
なので、debugよりも高いレベル(traceとか)にしていただけると必要なレベルのログだけが取得できると思います。

> ・log4phpを使う。(手順は下記と想像)
> log4phpを導入し、下記のようにS2LogFactoryの属性を設定する。
> S2Container_S2LogFactory::$LOGGER = S2Container_S2LogFactory::LOG4PHP;
> log4php.propertiesを記述して配置する。
> 

すいません、手元に環境がないのですが、近いうちに調べておきます。
log4phpということですが、S2Container.PHP5側で何か必要な処理とかありましたっけ > klove さん

> ーー>未成功。下記のエラーが出ます。
> 
> *Notice*: Only variable references should be returned by reference in *
> /home/ueyama/lib/log4php/LoggerAppender.php* on line *73*
> *Notice*: Only variable references should be returned by reference in *
> /home/ueyama/lib/log4php/LoggerPropertyConfigurator.php* on line *565*
> 
> 正しいlog4phpを用いたログ出力方法を教えていただけないでしょうか。



-- 
Yusuke Hata <nowel @ xole.net>
blog: http://blog.xole.net/


S2Container-PHP5 メーリングリストの案内