2017-11-02 10 views
0

Composerで自動ロードクラスが失敗したときにログファイルエラーを作成したかったので、今日助けてください。 ClassLoader.phpに直接書き込むことで成功しましたが、Composerを更新するたびにすべてが消去されます。それにComposerでクラスが見つからないときにログを書き込む

if (false === $file) { 
     // Remember that this class does not exist. 
     $this->missingClasses[$class] = true; 
     ob_start(); 
     echo date("d/m/Y H:i:s") . "\n"; 
     debug_print_backtrace(); 
     $trace = ob_get_contents(); 
     ob_end_clean(); 
     file_put_contents(FILEPATH_CLASS_EXCEPTION, $trace, FILE_APPEND); 
    } 

、それは動作しますが、どこすることができます:ここで

は、私の仕事の一部です:ClassLoader.php、ファイル探索方法で

私はそれを置く場所の見当がつかないソースコードを変更せずに追加しますか?

ありがとうございました!

+0

フレームワークまたはコンポーネントクラス/ライブラリを使用していますか? –

+0

作曲者ファイルを変更しないでください。あなたは、そのものを処理するエラーハンドラを作成する必要があります。また、[Monolog](https://github.com/Seldaek/monolog)のように試してテストしたライブラリを使用することもできます。そうすれば、すべてのエラーをログに記録することができます(おそらく何らかのエラーを記録するだけで意味がないため)。 –

答えて

0

自動ロードジェネレータを、目的の機能を拡張したラッパーに置き換えるcomposer-pluginを作成することができます。次に、そのプラグインを、ロギング機能を必要とするパッケージの依存関係にすることができます。

関連する問題