CakePHP ialah rangka kerja pembangunan aplikasi web berasaskan PHP yang menyediakan skalabiliti yang berkuasa dan fleksibel. CakePHP menyediakan mekanisme pengelogan yang mudah untuk merekod dan menjejaki operasi dan status aplikasi. Dalam artikel ini, kami akan meneroka cara menggunakan fungsi pengelogan dalam CakePHP.
1. Konfigurasi pengelogan CakePHP
Pilihan konfigurasi pengelogan telah disediakan dalam fail konfigurasi aplikasi config/app.php. Kami hanya perlu menyesuaikan pilihan ini mengikut keperluan.
Pilihan konfigurasi pengelogan ialah:
'Log' => [ 'debug' => [ 'className' => 'CakeLogEngineFileLog', 'path' => LOGS, 'file' => 'debug', 'levels' => ['notice', 'info', 'debug'], 'url' => env('LOG_DEBUG_URL', null), ], 'error' => [ 'className' => 'CakeLogEngineFileLog', 'path' => LOGS, 'file' => 'error', 'levels' => ['warning', 'error', 'critical', 'alert', 'emergency'], 'url' => env('LOG_ERROR_URL', null), ], ]
Pilihan konfigurasi di atas termasuk dua bahagian: nyahpepijat dan ralat. nyahpepijat merekodkan maklumat penyahpepijatan dan oleh itu sangat berguna kepada pembangun. ralat merekod maklumat ralat, termasuk maklumat amaran, maklumat ralat, maklumat kritikal, maklumat amaran dan maklumat kecemasan. Kita boleh menambah kelas pembalakan lain mengikut keperluan.
2. Penggunaan pengelogan CakePHP
Pengelogan CakePHP boleh dilaksanakan menggunakan kelas perkhidmatan Log. Kita boleh log di mana-mana dalam aplikasi dengan memanggil kaedah seperti Log::debug() atau Log::error(). Contohnya:
use CakeLogLog; Log::info('My message');
Kod di atas akan merekodkan mesej Mesej saya dalam fail log nyahpepijat program. Kami juga boleh menggunakan kaedah lain dalam kelas Log, seperti:
Log::emergency('This is an emergency!'); Log::alert('This is an alert!'); Log::critical('This is critical!'); Log::warning('This is a warning!'); Log::notice('This is a notice!'); Log::info('This is an info message!'); Log::debug('This is a debug message!');
3 Penggunaan kelas pengelogan CakePHP
CakePHP menyediakan tiga kelas pengelogan lalai:
Kami boleh menggunakan mana-mana kelas rekod ini atau menggunakan subkelas dan sambungannya.
Dalam artikel ini, kami akan menggunakan kelas pengelogan FileLog untuk merekod log dan menulis maklumat log ke dua fail /logs/debug.log dan /logs/error.log.
Dalam atur cara, kita boleh log maklumat penyahpepijatan menggunakan kod berikut:
Log::debug('This is a debug message');
Ini akan log mesej dalam fail /logs/debug.log.
Kami juga boleh log mesej ralat menggunakan kod berikut:
Log::error('This is an error message');
Ini akan log mesej dalam fail /logs/error.log.
4. Output pengelogan CakePHP
Kami boleh menggunakan kelas pengelogan lalai untuk mengeluarkan maklumat log, atau kami boleh menggunakan kelas tersuai atau perpustakaan kelas pihak ketiga untuk mengeluarkan maklumat log.
Secara lalai, kami boleh menggunakan pemapar fail untuk melihat maklumat log keluaran. Sebagai contoh, kita boleh menggunakan perintah tail -f untuk melihat kandungan fail log dalam masa nyata:
rreeeArahan di atas akan memaparkan kandungan baharu dalam fail debug.log dalam masa nyata.
Kami juga boleh menggunakan alat yang lebih maju untuk melihat data log, seperti Elasticsearch dan Kibana. Alat ini menyediakan keupayaan carian, penapisan dan visualisasi yang berkuasa untuk fail log.
5. Ringkasan
Artikel ini memperkenalkan cara menggunakan fungsi pengelogan dalam CakePHP. Kami boleh log maklumat penyahpepijatan dan ralat di mana-mana dalam aplikasi dan menyimpannya ke fail atau pangkalan data. Anda juga boleh menggunakan kelas pengelogan lalai untuk mengeluarkan maklumat log. Akhir sekali, kami menyebut secara ringkas beberapa alatan lanjutan, seperti Elasticsearch dan Kibana, untuk membantu kami mencari, menapis dan memvisualisasikan data log dengan lebih mudah.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan log masuk dalam CakePHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!