4

アプリが本番モードのときに、CakePHP がカスタム ログ ファイルに書き込むようにしようとしています。

log メソッドを使用してログに書き込みます:-

$this->log($url, 'payment');

この作業は、開発モードでは問題ありませんが、本番モードに切り替えると、ファイルに書き込まれなくなります (これが私がやりたいことです)。

問題を部分的に修正しているbootstrap.phpでファイルログオプションを設定しようとしました:-

CakeLog::levels(array('payment'));
CakeLog::config('payment', array(
    'engine' => 'FileLog',
    'types' => array('payment'),
    'file' => 'payment',
));

これは現在、本番モードでログ ファイルに書き込まれますが、私の payment.log にも他のエラーが書き込まれています。

ドキュメントを読んでみましたが、これを達成する方法が説明されていないか、誤解しています。

私は何を間違っていますか?助けてくれてありがとう。

4

1 に答える 1

6

これが役立つと思います:

電話:

CakeLog::write('info', 'log msg', array('payments'));

ブートストラップ:

CakeLog::config('payments', array(
    'engine' => 'FileLog',
    'types' => array('info'),
    'scopes' => array('payments')
));

ドキュメントに記載されているように、スコープは 2.2 で使用できます: http://book.cakephp.org/2.0/en/core-libraries/logging.html#logging-scopes

質問に Cakephp 2.1 のタグを付けました。アップグレードする必要があるかもしれません: http://book.cakephp.org/2.0/en/appendices/2-2-migration-guide.html

于 2013-09-09T09:17:18.633 に答える