Ralat Log dengan Cara Lancar
Pembezaan Tahap Ralat
Pengendalian ralat yang betul melibatkan membezakan antara kesilapan dan pengecualian. Ralat biasanya dikendalikan oleh pengendali ralat tersuai, manakala pengecualian dilemparkan dan ditangkap.
Melog dengan Pengendali Ralat
Daripada mengelog ralat secara langsung dalam kod, adalah disyorkan untuk menggunakan trigger_error untuk menimbulkan ralat. Ini membolehkan anda memusatkan pengendalian ralat dengan set pengendali ralat tersuai menggunakan set_error_handler. Pendekatan ini memisahkan pengelogan ralat daripada kod yang menghasilkan ralat.
Pengendalian Pengecualian
Untuk pengecualian, set_exception_handler boleh digunakan untuk mengendalikan pengecualian secara berpusat. Perpustakaan PHP Standard (SPL) menyediakan antara muka standard untuk pengecualian. Tiga pilihan wujud untuk menangani pengecualian:
Pengelogan Berpusat
Kedua-dua pengendali ralat dan pengecualian kemudiannya boleh digunakan untuk mengelog ralat dan pengecualian di lokasi pusat. Dengan menggunakan abstraksi pembalak biasa, anda boleh bertukar dengan mudah antara mekanisme pembalakan yang berbeza mengikut keperluan.
Contoh Penggunaan: Pengendali Ralat
<code class="php">function errorHandler($errno, $errstr, $errfile, $errline, $errcontext) { // Centralized error logging } set_error_handler('errorHandler');</code>
Contoh Penggunaan: Pengendali Pengecualian
<code class="php">function exceptionHandler($e) { // Centralized exception logging } set_exception_handler('exceptionHandler');</code>
Pertimbangan Lain
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Log Ralat Lancar dan Berkesan dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!