Rumah  >  Artikel  >  rangka kerja php  >  Cara menggunakan pengelogan dalam ThinkPHP6

Cara menggunakan pengelogan dalam ThinkPHP6

王林
王林asal
2023-06-20 08:37:363668semak imbas

Dengan perkembangan pesat Internet dan aplikasi Web, pengurusan log menjadi semakin penting. Apabila membangunkan aplikasi web, cara mencari dan mencari masalah adalah isu yang sangat kritikal. Sistem pembalakan ialah alat yang sangat berkesan yang boleh membantu kami mencapai tugasan ini. ThinkPHP6 menyediakan sistem pengelogan berkuasa yang boleh membantu pembangun aplikasi mengurus dan menjejaki peristiwa yang berlaku dalam aplikasi dengan lebih baik.

Artikel ini akan memperkenalkan cara menggunakan sistem pengelogan dalam ThinkPHP6 dan cara menggunakan sistem pengelogan untuk nyahpepijat dan mengurus aplikasi dengan lebih baik.

1. Sistem pengelogan ThinkPHP6

Sistem pengelogan ThinkPHP6 dilaksanakan melalui perpustakaan Monolog. Monolog ialah perpustakaan pengelogan PHP yang boleh merekodkan maklumat log ke tempat yang berbeza, seperti fail, pangkalan data, pelayan SMTP, dsb.

Menggunakan Monolog dalam ThinkPHP6 boleh merealisasikan pengurusan log dengan sangat mudah. Secara lalai, ThinkPHP6 menggunakan logger fail untuk merekod maklumat log ke folder log dalam direktori masa jalan projek, dan menyimpannya secara berasingan dengan tarikh sebagai nama fail. Kita boleh membuat beberapa tetapan tersuai dalam fail konfigurasi, seperti menukar direktori storan, menukar tahap log, memilih pemproses rakaman yang berbeza, dan sebagainya.

2. Use case

Dalam proses pembangunan sebelum ini, kadangkala masalah yang sukar ditemui Pada masa ini, kita boleh menggunakan sistem log untuk merekodkan status operasi sistem dan maklumat penting lain, dan cari masalah Lebih mudah. Berikut adalah pengenalan ringkas kepada penggunaan log.

(1) Pengelogan

Dalam ThinkPHP6, Monolog membahagikan tahap log kepada tahap berikut:

  • DEBUG: Maklumat nyahpepijat terperinci.
  • INFO: Maklumat acara yang bermakna, seperti log masuk pengguna.
  • AMARAN: Terdapat maklumat acara amaran, tetapi ia tidak menjejaskan sistem.
  • RALAT: Ralat berlaku dalam sistem, tetapi ia tidak menjejaskan operasi berterusan sistem.
  • KRITIKAL: Ralat kritikal berlaku dalam sistem dan sistem tidak boleh terus berjalan.
  • PERHATIAN: Ralat yang mana tindakan segera perlu diambil, seperti pangkalan data tidak tersedia.
  • KECEMASAN: Sistem tidak boleh berjalan, seperti komponen teras tidak wujud atau dikonfigurasikan secara tidak betul.

Pengelogan dilakukan melalui Log kelas fasad log. Anda boleh menggunakan Log kelas fasad untuk merekod dalam pengawal, model, perisian tengah, dsb. Satu siri kaedah peringkat log yang tersedia telah ditakrifkan dalam antara muka kelas fasad, dan kami hanya perlu memanggilnya.

Contohnya:

use thinkacadeLog;

Log::error('This is an error message.');
Log::warning('This is a warning message.');
Log::info('This is an information message.');

(2) Semak log

Semasa proses pembangunan, kami mungkin perlu menyemak maklumat log untuk membantu kami mencari masalah dalam program. Anda boleh melihat log dengan cara berikut:

  • Lihat melalui fail log: Anda boleh mencari fail log yang direkodkan dalam folder log di bawah direktori masa jalan projek dan melihat maklumat log melalui alatan seperti penyunting teks.
  • Lihat melalui konsol: Anda boleh memasukkan arahan berikut dalam terminal untuk melihat maklumat log:
php think list log

(3) Pemproses rakaman tersuai

ThinkPHP6 menyediakan beberapa pemproses Log lalai, seperti pemproses fail, pemproses Logentries, dsb. Kami juga boleh menyesuaikan pemproses rekod untuk memenuhi keperluan khusus.

Sebagai contoh, kita boleh mencipta pengendali yang log ke storan awan:

use MonologHandlerAbstractProcessingHandler;

class CloudStorageHandler extends AbstractProcessingHandler
{
    public function __construct()
    {
        // 连接云存储,初始化操作
    }

    protected function write(array $record): void
    {
        // 将记录写入到云存储中
    }

    // 其他自定义方法
}

Seterusnya, kita perlu mendaftarkan pengendali ini dalam fail konfigurasi:

'handlers' => [
    'cloud_storage' => [
        'class'   => pploghandlerCloudStorageHandler::class,
    ],
],

'channels' => [
    'default' => [
        'handlers' => ['cloud_storage'],
    ],
],

Pada ketika ini , kita boleh menggunakan pemproses berdaftar dalam aplikasi:

Log::channel('cloud_storage')->info('This is an information message.');

3 Ringkasan

Artikel ini memperkenalkan cara menggunakan sistem pengelogan ThinkPHP6 untuk merekod status berjalan sistem dan maklumat penting , dan cara untuk. gunakan sistem log untuk nyahpepijat apabila mencari masalah. Ia juga menerangkan cara menyesuaikan pemproses rekod untuk memenuhi keperluan khusus. Saya harap artikel ini dapat membantu pembaca menggunakan sistem pengelogan dalam ThinkPHP6 dengan lebih baik.

Atas ialah kandungan terperinci Cara menggunakan pengelogan dalam ThinkPHP6. 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