Rumah >rangka kerja php >Laravel >kaedah penulisan log laravel

kaedah penulisan log laravel

WBOY
WBOYasal
2023-05-20 17:36:081579semak imbas

Laravel ialah rangka kerja pembangunan PHP yang sangat popular, dan fleksibiliti serta fungsi berkuasanya disukai oleh majoriti pembangun. Semasa proses pembangunan aplikasi, pembalakan adalah tugas yang sangat penting, yang boleh membantu pembangun mencari dan menyelesaikan masalah dengan cepat. Artikel ini akan memperkenalkan cara menulis log dalam Laravel.

  1. Mengkonfigurasi maklumat log

Maklumat konfigurasi log dalam Laravel disimpan dalam fail logging.php dalam direktori konfigurasi. Pemacu log lalai dan saluran Log ditakrifkan dalam fail ini.

Anda boleh menyesuaikan pemacu log dan saluran Log mengikut keperluan. Jenis pemacu log yang paling biasa termasuk: fail tunggal dan fail log harian. Antaranya, mod fail tunggal merekodkan semua log ke satu fail, manakala mod fail log harian mencipta fail log baharu berdasarkan tarikh setiap hari.

Selepas memilih jenis pemacu log dalam fail konfigurasi, kami juga perlu mengkonfigurasi saluran Log untuk digunakan semasa merakam log dalam aplikasi.

  1. Gunakan Log Facade untuk menulis log

Laravel menyediakan Log Facade, yang menyediakan kaedah untuk merekodkan log, membolehkan kami merekodkan maklumat log ke dalam fail log dengan mudah. Gunakan terus Log:: untuk memanggil Log Fasad, dan gunakan info() atau debug() untuk merekod maklumat log. Seperti yang ditunjukkan di bawah:

use IlluminateSupportFacadesLog;

// 记录 Info 级别的日志信息
Log::info('This is an info level message.');

// 记录 Debug 级别的日志信息
Log::debug('This is a debug level message.');

Anda boleh menentukan saluran Log yang berbeza dalam fail konfigurasi log dan menyediakan pengendali yang berbeza (Pengendali) untuk menyimpan maklumat log di lokasi yang berbeza.

Seperti yang ditunjukkan di bawah:

use IlluminateSupportFacadesLog;

// 使用 MyLog 通道记录 Info 级别的日志信息
Log::channel('MyLog')->info('This is an info level message.');

// 使用 MyLog 通道记录 Debug 级别的日志信息
Log::channel('MyLog')->debug('This is a debug level message.');
  1. Menggunakan Monolog untuk menulis log

Monolog ialah alat pengelogan yang berkuasa dalam PHP, Laravel menggunakan Monolog sebagai komponen Lognya . Monolog menyediakan pelbagai pemproses dan pemformat, membolehkan kami mengkonfigurasi log dengan lebih terperinci.

Dalam Laravel, kita boleh menggunakan Monolog untuk memproses dan merekod maklumat log. Laravel melaksanakan enkapsulasi Monolog melalui pengikatan bekas. Kami boleh menyesuaikan kejadian Monolog melalui pengikatan bekas dan menamakan setiap kejadian supaya kami boleh merujuknya dalam aplikasi kami.

Seperti yang ditunjukkan di bawah, kita boleh mengikat tika Monolog baharu dalam AppServiceProvider:

use MonologLogger;
use MonologHandlerStreamHandler;

public function register()
{
    $this->app->bind('myLogger', function () {
        $log = new Logger('myLog');
        $log->pushHandler(new StreamHandler(storage_path('logs/myLog.log')), Logger::INFO);
        return $log;
    });
}

Kemudian, gunakan tika ini untuk merekod maklumat log dalam aplikasi. Seperti yang ditunjukkan di bawah:

use IlluminateSupportFacadesLog;

Log::channel('myLogger')->info('This is an info level message.');

Selain menggunakan fail konfigurasi log lalai, kami juga boleh menggunakan fail konfigurasi log tersuai untuk mengkonfigurasi Monolog. Seperti yang ditunjukkan di bawah, gunakan kaedah addRecord() Monolog dalam fail konfigurasi log tersuai untuk menambah maklumat log:

use MonologLogger;

return [
    'myLog' => [
        'driver' => 'monolog',
        'level' => 'debug',
        'handler_with' => [
            [
                'handler' => StreamHandler::class,
                'options' => [
                    'level' => Logger::INFO,
                    'stream' => storage_path('logs/mylog.log'),
                    'bubble' => true
                ]
            ]
        ],
        'tap' => [MyLogChannel::class]
    ]
];

Perlu diambil perhatian bahawa tap di sini dikonfigurasikan sebagai contoh saluran Log tersuai. Kami mesti mendaftarkan contoh dengan aplikasi supaya ia boleh digunakan untuk merekodkan maklumat pembalakan.

  1. Ringkasan

Dalam Laravel, pengelogan ialah tugas yang perlu untuk pembangunan aplikasi. Dengan mengkonfigurasi fail konfigurasi log dan menggunakan Log Facade dan Monolog, kami boleh merekod maklumat log dan memprosesnya dengan mudah.

Sudah tentu, di sini kami hanya memperkenalkan kaedah paling asas untuk menulis log dalam Laravel Jika anda memerlukan pemahaman yang lebih mendalam, anda boleh menyemak dokumentasi Laravel rasmi atau mencari maklumat yang berkaitan.

Atas ialah kandungan terperinci kaedah penulisan log laravel. 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