Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Melog perpustakaan dalam PHP8.0: Monolog

Melog perpustakaan dalam PHP8.0: Monolog

WBOY
WBOYasal
2023-05-14 08:08:071428semak imbas

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:

  • Logger: Kelas teras dalam Monolog, digunakan untuk merekodkan mesej log.
  • Pengendali: Boleh merakam mesej log ke destinasi tertentu, seperti konsol, fail atau pangkalan data.
  • Pemformat: Bertanggungjawab untuk memformat mesej log yang direkodkan ke dalam format teks tertentu untuk membaca dan memahami data log dengan lebih baik.

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:

  • Pemproses pemberitahuan mel (SwiftMailerHandler): mesej log Hantar melalui e-mel.
  • BrowserConsoleHandler: Log mesej ke konsol penyemak imbas.
  • FingersCrossedHandler: Apabila syarat tertentu dipenuhi, mesej log direkodkan ke fail untuk penyelesaian masalah seterusnya.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn