そしてlog4phpに嵌る
昨日はロガーの継承についておかしいことがわかって、いざ設定ファイルをこちょこちょいじってみたんだけど、やっぱりrootLoggerのappenderを継承しちょる。
にっちもさっちもいかないので、log4phpのソースを見てみる。LOG4PHP_LOGGER_PROPERTY_CONFIGURATOR_ADDITIVITY_PREFIX ってゆー定数が昨日の設定項目になるんだけど、別段おかしなことはしてなさそう。
うむむ、どうして?なんで?
うは、ひょっとしてひょっとすると...
; log4j.additivity.test=false
log4j.additivity.test="false"
とすると予期した動作に。
なんじゃこれー!ぼけー!
parse_ini_fileのマニュアルをよく読みましょう。。
注意: ini ファイル上でキーとして使ってはいけない単語があります。
それらは null, yes, no, true, false などが含まれます。
null, no および false は "" となり、yes および true は "1" となります。
次の文字 {}|&~![()" は、キーで使ってはいけません。
また、値の中で特別な意味を持ちます。
そもそもlog4phpの内部でこんなへんてこりんな仕様のparse_ini_fileなんて関数使うからあかんねん。propertyファイルぐらい自分でparseせいや、ホンマ。
$map = array();
foreach( $lines as $line)
{
if( strlen($line) == 0 || $line[0] == "#" ) contintue;
if( preg_match('/^\s*(.*?)\s*=\s*(.*?)\s*$/', $match, $line) )
{
$map[ $match[1] ] = $match[2];
}
}
1分。