Dengan pembangunan berterusan dan kemajuan teknologi Internet, semakin banyak aplikasi perlu mengendalikan sejumlah besar data dan permintaan. Untuk memastikan aplikasi boleh berjalan seperti biasa dan masalah dapat dikesan dalam masa, rakaman log untuk menyelesaikan masalah menjadi sangat kritikal. Pembalakan ialah kaedah merekod maklumat yang digunakan untuk mengesan dan merekodkan operasi sistem. Dalam PHP, Monolog ialah perpustakaan pengelogan popular yang menyediakan satu siri kaedah pengelogan yang berkuasa untuk membantu pembangun menyahpepijat dengan lebih baik dan mengoptimumkan aplikasi mereka.
Pengenalan kepada Monolog
Monolog ialah perpustakaan pengelogan PHP sumber terbuka yang diselenggara dan dibangunkan di GitHub. Pustaka menyediakan satu siri pemproses log dan pemformat, menyokong pelbagai kaedah keluaran log biasa, seperti fail, pangkalan data, e-mel dan output konsol. Fleksibiliti dan kebolehlanjutannya boleh membantu pembangun PHP merekod dan mengurus data log aplikasi dengan mudah.
Pertama sekali, untuk menggunakan Monolog, anda perlu mengetahui beberapa konsep dan istilah asas:
Dalam Monolog, mesej log dibahagikan kepada tujuh peringkat: DEBUG, INFO, NOTIS, AMARAN, RALAT, KRITIKAL dan ALERT. Antaranya, DEBUG ialah mesej log peringkat terendah, dan ALERT ialah mesej log peringkat tertinggi. Jika anda mengkonfigurasi pemproses untuk memproses hanya mesej log pada tahap tertentu, maka hanya mesej yang sepadan dengan tahap tersebut akan diproses.
Menggunakan Monolog
Seterusnya, kami akan memperkenalkan cara menggunakan Monolog dalam aplikasi PHP8.0.
1. Pasang Monolog
Monolog boleh dipasang melalui Komposer. Tambah kod berikut pada fail composer.json dalam direktori akar projek:
{ "require": { "monolog/monolog": "^2.0" } }
Kemudian laksanakan arahan berikut dalam terminal:
composer install
2. Buat logger
digunakan Sebelum Monolog, anda perlu mencipta pembalak. Kod berikut menunjukkan cara membuat logger bernama "my_logger", yang boleh merekodkan semua peringkat mesej log:
use MonologLogger; $logger = new Logger('my_logger');
3 Tambah pemproses
Seterusnya, anda perlu menentukan satu atau berbilang pemproses untuk memproses mesej log. Kod berikut menunjukkan cara untuk menambah FileHandler pada pembalak untuk merekodkan mesej log ke fail yang ditentukan:
use MonologHandlerStreamHandler; $logger->pushHandler(new StreamHandler('/path/to/your/log/file.txt', Logger::WARNING));
Di sini, kami menambah FileHandler pada pembalak untuk mengendalikan mesej log di atas tahap AMARAN, dan menulisnya ke fail yang ditentukan.
4. Rekod mesej log
Sekarang tetapan logger dan pemproses telah selesai, anda hanya perlu merekodkan mesej. Kod berikut menunjukkan cara merekodkan mesej log peringkat INFO melalui pembalak:
$logger->info('This is a sample log message');
5 Pemproses dan pemformat tersuai
Monolog juga menyokong pemproses dan pemformat tersuai, untuk menyesuaikan diri dengan lebih baik. keperluan permohonan yang berbeza. Di bawah ini kami akan menunjukkan cara untuk menyesuaikan pemproses dan menambahnya pada pembalak.
Kod berikut menunjukkan cara untuk menyesuaikan pemproses StreamHandler untuk merekodkan mesej log kepada Redis:
use MonologHandlerAbstractProcessingHandler; use Redis; class RedisHandler extends AbstractProcessingHandler { private $redis; public function __construct(Redis $redis, $level = Logger::DEBUG, $bubble = true) { parent::__construct($level, $bubble); $this->redis = $redis; } protected function write(array $record): void { $this->redis->lpush('logs', $record['formatted']); } }
Dalam pemproses ini, kami merekodkan mesej log ke log senarai Redis. Dengan memperibadikan pemproses dan pemformat, kami boleh melanjutkan fungsi Monolog dengan mudah untuk memenuhi keperluan aplikasi yang berbeza.
6. Lebih banyak senario penggunaan
Monolog juga menyokong beberapa penggunaan lanjutan lain, seperti:
Ringkasan
Monolog ialah perpustakaan pengelogan berkuasa yang fleksibel dan berskala untuk membantu pembangun PHP merekod dan mengurus data log aplikasi dengan mudah. Dengan menggunakan Monolog, anda boleh merekod dan menyelesaikan masalah dalam aplikasi anda dengan lebih mudah dan boleh dipercayai, meningkatkan kualiti dan kestabilan aplikasi anda.
Atas ialah kandungan terperinci Melog perpustakaan dalam PHP8.0: Monolog. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!