- 2007/04/05
- その他
log4php をサーバーにセットアップすると以下のようなエラーが発生しました。
[notice] child pid 10388 exit signal Segmentation fault (11)
めっちゃ悩んだ結果、答えは、log4php のソースコードのヘッダーコメントに日本語の文字コードで解釈できない文字があり、そこでひっかかっていたようです。
全てのソースを euc lf に変換することで Segmentation fault エラーは発生しなくなりました。
vtiger Open Source CRM Discussions を見て log4php のバグだと勘違いして調べていた自分がばからしい。
あとは PHP/CakePHP/CakePHPのログをLog4phpに切り替える – Happy Engineer Life を参考に log4php のバグを直すだけ。
log4php\LoggerPropertyConfigurator.phpの509行目 の正しい修正は &parseCategory → parseCategory となる。
log4php.properties の設定は以下のとおり
log4php.rootLogger=DEBUG, Rlog4php.appender.R=LoggerAppenderRollingFilelog4php.appender.R.file=/..絶対パスで../app/tmp/logs/error_log.txtlog4php.appender.R.layout=LoggerPatternLayoutlog4php.appender.R.layout.ConversionPattern=%d [%t] %-5p %c - %m%nlog4php.appender.R.MaxFileSize=10240log4php.appender.R.MaxBackupIndex=3